diff --git a/cfg/addons/yapb/conf/avatars.cfg b/cfg/addons/yapb/conf/avatars.cfg index da57710..6c5f518 100644 --- a/cfg/addons/yapb/conf/avatars.cfg +++ b/cfg/addons/yapb/conf/avatars.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: avatars.cfg ; diff --git a/cfg/addons/yapb/conf/chatter.cfg b/cfg/addons/yapb/conf/chatter.cfg index 6e18252..e83f533 100644 --- a/cfg/addons/yapb/conf/chatter.cfg +++ b/cfg/addons/yapb/conf/chatter.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: chatter.cfg ; diff --git a/cfg/addons/yapb/conf/custom.cfg b/cfg/addons/yapb/conf/custom.cfg index e313944..fbffc17 100644 --- a/cfg/addons/yapb/conf/custom.cfg +++ b/cfg/addons/yapb/conf/custom.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: yapb.cfg ; diff --git a/cfg/addons/yapb/conf/difficulty.cfg b/cfg/addons/yapb/conf/difficulty.cfg index 3905a59..20b3346 100644 --- a/cfg/addons/yapb/conf/difficulty.cfg +++ b/cfg/addons/yapb/conf/difficulty.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: difficulty.cfg ; diff --git a/cfg/addons/yapb/conf/lang/de_chat.cfg b/cfg/addons/yapb/conf/lang/de_chat.cfg index abb5bb8..2ce64c6 100644 --- a/cfg/addons/yapb/conf/lang/de_chat.cfg +++ b/cfg/addons/yapb/conf/lang/de_chat.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: de_chat.cfg ; diff --git a/cfg/addons/yapb/conf/lang/de_lang.cfg b/cfg/addons/yapb/conf/lang/de_lang.cfg index a841909..51c5545 100644 --- a/cfg/addons/yapb/conf/lang/de_lang.cfg +++ b/cfg/addons/yapb/conf/lang/de_lang.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: de_lang.cfg ; diff --git a/cfg/addons/yapb/conf/lang/en_chat.cfg b/cfg/addons/yapb/conf/lang/en_chat.cfg index f9ee9d3..9ab4342 100644 --- a/cfg/addons/yapb/conf/lang/en_chat.cfg +++ b/cfg/addons/yapb/conf/lang/en_chat.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: en_chat.cfg ; diff --git a/cfg/addons/yapb/conf/lang/en_names.cfg b/cfg/addons/yapb/conf/lang/en_names.cfg index 1494b17..d6d1e0c 100644 --- a/cfg/addons/yapb/conf/lang/en_names.cfg +++ b/cfg/addons/yapb/conf/lang/en_names.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: en_names.cfg ; diff --git a/cfg/addons/yapb/conf/lang/ru_chat.cfg b/cfg/addons/yapb/conf/lang/ru_chat.cfg index 8577142..cc64605 100644 --- a/cfg/addons/yapb/conf/lang/ru_chat.cfg +++ b/cfg/addons/yapb/conf/lang/ru_chat.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: ru_chat.cfg ; diff --git a/cfg/addons/yapb/conf/lang/ru_lang.cfg b/cfg/addons/yapb/conf/lang/ru_lang.cfg index 41722dd..29da1da 100644 --- a/cfg/addons/yapb/conf/lang/ru_lang.cfg +++ b/cfg/addons/yapb/conf/lang/ru_lang.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: ru_lang.cfg ; diff --git a/cfg/addons/yapb/conf/lang/ru_names.cfg b/cfg/addons/yapb/conf/lang/ru_names.cfg index 0978d7d..f45dc31 100644 --- a/cfg/addons/yapb/conf/lang/ru_names.cfg +++ b/cfg/addons/yapb/conf/lang/ru_names.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: ru_names.cfg ; diff --git a/cfg/addons/yapb/conf/logos.cfg b/cfg/addons/yapb/conf/logos.cfg index 97b3cb9..b776d1b 100644 --- a/cfg/addons/yapb/conf/logos.cfg +++ b/cfg/addons/yapb/conf/logos.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: logos.cfg ; diff --git a/cfg/addons/yapb/conf/weapon.cfg b/cfg/addons/yapb/conf/weapon.cfg index 8b325ce..bca2071 100644 --- a/cfg/addons/yapb/conf/weapon.cfg +++ b/cfg/addons/yapb/conf/weapon.cfg @@ -1,6 +1,6 @@ ; ; @package: YaPB -; @version: 4.3 +; @version: 4.4 ; @author: YaPB Project ; @filename: weapon.cfg ; diff --git a/cfg/addons/yapb/conf/yapb.cfg b/cfg/addons/yapb/conf/yapb.cfg index fe26469..2723a61 100644 --- a/cfg/addons/yapb/conf/yapb.cfg +++ b/cfg/addons/yapb/conf/yapb.cfg @@ -1,12 +1,68 @@ // // @package: YaPB -// @version: 4.3 +// @version: 4.4 // @author: YaPB Project // @filename: yapb.cfg // // YaPB main configuration file. Can be executed via "exec" command. // +// +// Autostart analyzer if all other cases are failed. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_graph_analyze_auto_start "1" + +// +// Auto save results of analysis to graph file. And re-add bots. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_graph_analyze_auto_save "1" + +// +// The minimum distance to keep nodes from each other. +// --- +// Default: "64", Min: "42", Max: "128" +// +yb_graph_analyze_distance "64" + +// +// Max jump height to test if next node will be unreachable. +// --- +// Default: "44", Min: "44", Max: "64" +// +yb_graph_analyze_max_jump_height "44" + +// +// The FPS at which analyzer process is running. This keeps game from freezing during analyzing. +// --- +// Default: "30.0" +// +yb_graph_analyze_fps "30.0" + +// +// Specifies if analyzer should clean the unnecessary paths upon finishing. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_graph_analyze_clean_paths_on_finish "1" + +// +// Specifies if analyzer should merge some near-placed nodes with much of connections together. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_graph_analyze_optimize_nodes_on_finish "1" + +// +// Specifies if analyzer should mark nodes as map goals automatically upon finish. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_graph_analyze_mark_goals_on_finish "1" + // // Enables or disables useful messages about bot states. Not required for end users. // --- @@ -17,7 +73,7 @@ yb_debug "0" // // Forces all alive bots to build path and go to the specified here graph node. // --- -// Default: "-1", Min: "-1", Max: "2048" +// Default: "-1", Min: "-1", Max: "4096" // yb_debug_goal "-1" @@ -67,27 +123,6 @@ yb_economics_rounds "1" // yb_economics_disrespect_percent "25" -// -// Specifies whether bots able to use 'shift' if they thinks that enemy is near. -// --- -// Default: "1", Min: "0", Max: "1" -// -yb_walking_allowed "1" - -// -// Allows or disallows bots to camp. Doesn't affects bomb/hostage defending tasks. -// --- -// Default: "1", Min: "0", Max: "1" -// -yb_camping_allowed "1" - -// -// Allows bots to partially avoid grenades. -// --- -// Default: "1", Min: "0", Max: "1" -// -yb_avoid_grenades "1" - // // Allows or disallows bot to check environment for darkness, thus allows or not to use flashlights or NVG. // --- @@ -96,18 +131,11 @@ yb_avoid_grenades "1" yb_check_darkness "1" // -// Lower bound of time from which time for camping is calculated +// Allows bots to partially avoid grenades. // --- -// Default: "15.0", Min: "5.0", Max: "90.0" +// Default: "1", Min: "0", Max: "1" // -yb_camping_time_min "15.0" - -// -// Upper bound of time until which time for camping is calculated -// --- -// Default: "45.0", Min: "15.0", Max: "120.0" -// -yb_camping_time_max "45.0" +yb_avoid_grenades "1" // // Allows or disallows bots to take revenge of teamkillers / team attacks. @@ -207,13 +235,6 @@ yb_ignore_objectives "0" // yb_random_knife_attacks "1" -// -// Maximum number for path length, to predict the enemy. -// --- -// Default: "30", Min: "15", Max: "256" -// -yb_max_nodes_for_predict "30" - // // Enables or disables bots chat functionality. // --- @@ -317,6 +338,13 @@ yb_csdm_mode "0" // yb_breakable_health_limit "500.0" +// +// Maximum number of threads bot will run to process some tasks. -1 means half of CPU cores used. +// --- +// Default: "-1", Min: "-1", Max: "12" +// +yb_threadpool_workers "-1" + // // Specifies whether bot should not 'fix' camp directions of camp waypoints when loading old PWF format. // --- @@ -329,12 +357,19 @@ yb_graph_fixcamp "0" // --- // Default: "yapb.jeefo.net" // -yb_graph_url "yapb-gcdn.akamaized.net" +yb_graph_url "yapb.jeefo.net" + +// +// Specifies the URL to which bots will try to upload the graph file to database. +// --- +// Default: "http://yapb.jeefo.net/upload" +// +yb_graph_url_upload "http://yapb.jeefo.net/upload" // // Every N graph nodes placed on map, the graph will be saved automatically (without checks). // --- -// Default: "15", Min: "0", Max: "2048" +// Default: "15", Min: "0", Max: "4096" // yb_graph_auto_save_count "15" @@ -352,6 +387,13 @@ yb_graph_draw_distance "400" // yb_autovacate "1" +// +// How many slots autovacate feature should keep for human players +// --- +// Default: "1", Min: "1", Max: "8" +// +yb_autovacate_keep_slots "1" + // // Kick the bot immediately when a human player joins the server (yb_autovacate must be enabled). // --- @@ -453,6 +495,13 @@ yb_difficulty_max "-1" // yb_difficulty_auto "0" +// +// Interval in which bots will balance their difficulty. +// --- +// Default: "30", Min: "30", Max: "240" +// +yb_difficulty_auto_balance_interval "30" + // // Enables or disables displaying bot avatars in front of their names in scoreboard. Note, that is currently you can see only avatars of your steam friends. // --- @@ -551,23 +600,30 @@ yb_rotate_stay_max "3600.0" // // Selects the heuristic function mode. For debug purposes only. // --- -// Default: "4", Min: "0", Max: "4" +// Default: "3", Min: "0", Max: "4" // -yb_path_heuristic_mode "4" +yb_path_heuristic_mode "3" // -// Lower bound of danger factor that used to add additional danger to path based on practice. +// Limit maximum floyd-warshall memory (megabytes). Use Dijkstra if memory exceeds. // --- -// Default: "200", Min: "100", Max: "2400" +// Default: "6", Min: "0", Max: "32" // -yb_path_danger_factor_min "200" +yb_path_floyd_memory_limit "6" // -// Upper bound of danger factor that used to add additional danger to path based on practice. +// Use simple distance path calculation instead of running full Dijkstra path cycle. Used only when Floyd matrices unavailable due to memory limit. // --- -// Default: "400", Min: "200", Max: "4800" +// Default: "1", Min: "0", Max: "1" // -yb_path_danger_factor_max "400" +yb_path_dijkstra_simple_distance "1" + +// +// Enables post-smoothing for A*. Reduces zig-zags on paths at cost of some CPU cycles. +// --- +// Default: "0", Min: "0", Max: "1" +// +yb_path_astar_post_smooth "0" // // Enables or disables showing welcome message to host entity on game start. @@ -583,3 +639,38 @@ yb_display_welcome_text "1" // yb_enable_query_hook "0" +// +// Specifies whether bots able to use 'shift' if they thinks that enemy is near. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_walking_allowed "1" + +// +// Allows or disallows bots to camp. Doesn't affects bomb/hostage defending tasks. +// --- +// Default: "1", Min: "0", Max: "1" +// +yb_camping_allowed "1" + +// +// Lower bound of time from which time for camping is calculated +// --- +// Default: "15.0", Min: "5.0", Max: "90.0" +// +yb_camping_time_min "15.0" + +// +// Upper bound of time until which time for camping is calculated +// --- +// Default: "45.0", Min: "15.0", Max: "120.0" +// +yb_camping_time_max "45.0" + +// +// Maximum number for path length, to predict the enemy. +// --- +// Default: "20", Min: "15", Max: "256" +// +yb_max_nodes_for_predict "20" + diff --git a/meson.build b/meson.build index b9e943a..3b16408 100644 --- a/meson.build +++ b/meson.build @@ -9,7 +9,7 @@ project ( 'yapb', 'cpp', - version: '4.3', + version: '4.4', license: 'MIT', default_options: [ 'buildtype=release',