diff --git a/.env.example b/.env.example index 8fe4826..525dc75 100644 --- a/.env.example +++ b/.env.example @@ -356,7 +356,8 @@ ACORE_LEARNSPELLS_RIDING_COLD_WEATHER_FLYING=1 ACORE_PLAYERBOTS_ENABLED=1 # Автологин random bots. -ACORE_PLAYERBOTS_RANDOM_BOT_AUTOLOGIN=1 +# Для сервера под соло/кооп лучше оставить 0, если вам нужны только боты в группу по команде. +ACORE_PLAYERBOTS_RANDOM_BOT_AUTOLOGIN=0 # Минимум random bots онлайн. ACORE_PLAYERBOTS_MIN_RANDOM_BOTS=0 @@ -364,12 +365,28 @@ ACORE_PLAYERBOTS_MIN_RANDOM_BOTS=0 # Максимум random bots онлайн. ACORE_PLAYERBOTS_MAX_RANDOM_BOTS=0 +# Общее количество служебных bot-аккаунтов. +# 0 = считать автоматически по другим настройкам. +ACORE_PLAYERBOTS_RANDOM_BOT_ACCOUNT_COUNT=0 + +# Разовая полная очистка всех randombot/addclass аккаунтов и персонажей. +# Поставьте 1, запустите сервер, дождитесь удаления и автоостановки worldserver. +# После этого ОБЯЗАТЕЛЬНО верните 0. +ACORE_PLAYERBOTS_DELETE_RANDOM_BOT_ACCOUNTS=0 + # Сколько ботов игрок может одновременно добавить в группу. ACORE_PLAYERBOTS_MAX_ADDED_BOTS=9 # Разрешать команду addclass. ACORE_PLAYERBOTS_ADDCLASS_COMMAND=1 +# Размер пула addclass-аккаунтов. +# 3 обычно достаточно для PvE/кооп-сценария и не создает сотни ботов на старте. +ACORE_PLAYERBOTS_ADDCLASS_ACCOUNT_POOL_SIZE=3 + +# Не поднимать random bots, пока не зайдет реальный игрок. +ACORE_PLAYERBOTS_DISABLED_WITHOUT_REAL_PLAYER=1 + # Политика приглашения в группу: # 0 = только GM, 1 = по уровню, 2 = всегда. ACORE_PLAYERBOTS_GROUP_INVITATION_PERMISSION=2 @@ -411,6 +428,10 @@ ACORE_PLAYERBOTS_RANDOM_BOT_INVITE_PLAYER=0 # Разрешать random bot'ам вставать в LFG. ACORE_PLAYERBOTS_RANDOM_BOT_JOIN_LFG=0 +# Логинить random bots прямо при старте worldserver. +# Для серверов с ботами "по запросу" лучше 0. +ACORE_PLAYERBOTS_RANDOM_BOT_LOGIN_AT_STARTUP=0 + # Читы, которые выдаются ботам. ACORE_PLAYERBOTS_BOT_CHEATS=food,taxi,raid diff --git a/setup-modules.sh b/setup-modules.sh index 2fa08bc..10ff5b9 100644 --- a/setup-modules.sh +++ b/setup-modules.sh @@ -88,11 +88,15 @@ FORCE_PLAYERBOTS="${FORCE_PLAYERBOTS:-${ACORE_PLAYERBOTS_FORCE:-0}}" : "${ACORE_LEARNSPELLS_RIDING_COLD_WEATHER_FLYING:=0}" : "${ACORE_PLAYERBOTS_ENABLED:=1}" -: "${ACORE_PLAYERBOTS_RANDOM_BOT_AUTOLOGIN:=${AC_AI_PLAYERBOT_RANDOM_BOT_AUTOLOGIN:-1}}" +: "${ACORE_PLAYERBOTS_RANDOM_BOT_AUTOLOGIN:=${AC_AI_PLAYERBOT_RANDOM_BOT_AUTOLOGIN:-0}}" : "${ACORE_PLAYERBOTS_MIN_RANDOM_BOTS:=0}" : "${ACORE_PLAYERBOTS_MAX_RANDOM_BOTS:=0}" +: "${ACORE_PLAYERBOTS_RANDOM_BOT_ACCOUNT_COUNT:=0}" +: "${ACORE_PLAYERBOTS_DELETE_RANDOM_BOT_ACCOUNTS:=0}" : "${ACORE_PLAYERBOTS_MAX_ADDED_BOTS:=9}" : "${ACORE_PLAYERBOTS_ADDCLASS_COMMAND:=1}" +: "${ACORE_PLAYERBOTS_ADDCLASS_ACCOUNT_POOL_SIZE:=3}" +: "${ACORE_PLAYERBOTS_DISABLED_WITHOUT_REAL_PLAYER:=1}" : "${ACORE_PLAYERBOTS_GROUP_INVITATION_PERMISSION:=2}" : "${ACORE_PLAYERBOTS_KEEP_ALTS_IN_GROUP:=1}" : "${ACORE_PLAYERBOTS_BOT_AUTOLOGIN:=0}" @@ -106,6 +110,7 @@ FORCE_PLAYERBOTS="${FORCE_PLAYERBOTS:-${ACORE_PLAYERBOTS_FORCE:-0}}" : "${ACORE_PLAYERBOTS_APPLY_INSTANCE_STRATEGIES:=1}" : "${ACORE_PLAYERBOTS_RANDOM_BOT_INVITE_PLAYER:=0}" : "${ACORE_PLAYERBOTS_RANDOM_BOT_JOIN_LFG:=0}" +: "${ACORE_PLAYERBOTS_RANDOM_BOT_LOGIN_AT_STARTUP:=0}" : "${ACORE_PLAYERBOTS_BOT_CHEATS:=food,taxi,raid}" : "${ACORE_PLAYERBOTS_RANDOM_BOT_ARENA_TEAM_2V2_COUNT:=0}" : "${ACORE_PLAYERBOTS_RANDOM_BOT_ARENA_TEAM_3V3_COUNT:=0}" @@ -398,8 +403,12 @@ AiPlayerbot.Enabled = ${ACORE_PLAYERBOTS_ENABLED} AiPlayerbot.RandomBotAutologin = ${ACORE_PLAYERBOTS_RANDOM_BOT_AUTOLOGIN} AiPlayerbot.MinRandomBots = ${ACORE_PLAYERBOTS_MIN_RANDOM_BOTS} AiPlayerbot.MaxRandomBots = ${ACORE_PLAYERBOTS_MAX_RANDOM_BOTS} +AiPlayerbot.RandomBotAccountCount = ${ACORE_PLAYERBOTS_RANDOM_BOT_ACCOUNT_COUNT} +AiPlayerbot.DeleteRandomBotAccounts = ${ACORE_PLAYERBOTS_DELETE_RANDOM_BOT_ACCOUNTS} +AiPlayerbot.DisabledWithoutRealPlayer = ${ACORE_PLAYERBOTS_DISABLED_WITHOUT_REAL_PLAYER} AiPlayerbot.MaxAddedBots = ${ACORE_PLAYERBOTS_MAX_ADDED_BOTS} AiPlayerbot.AddClassCommand = ${ACORE_PLAYERBOTS_ADDCLASS_COMMAND} +AiPlayerbot.AddClassAccountPoolSize = ${ACORE_PLAYERBOTS_ADDCLASS_ACCOUNT_POOL_SIZE} AiPlayerbot.GroupInvitationPermission = ${ACORE_PLAYERBOTS_GROUP_INVITATION_PERMISSION} AiPlayerbot.KeepAltsInGroup = ${ACORE_PLAYERBOTS_KEEP_ALTS_IN_GROUP} AiPlayerbot.BotAutologin = ${ACORE_PLAYERBOTS_BOT_AUTOLOGIN} @@ -413,6 +422,7 @@ AiPlayerbot.SyncLevelWithPlayers = ${ACORE_PLAYERBOTS_SYNC_LEVEL_WITH_PLAYERS} AiPlayerbot.ApplyInstanceStrategies = ${ACORE_PLAYERBOTS_APPLY_INSTANCE_STRATEGIES} AiPlayerbot.RandomBotInvitePlayer = ${ACORE_PLAYERBOTS_RANDOM_BOT_INVITE_PLAYER} AiPlayerbot.RandomBotJoinLfg = ${ACORE_PLAYERBOTS_RANDOM_BOT_JOIN_LFG} +AiPlayerbot.RandomBotLoginAtStartup = ${ACORE_PLAYERBOTS_RANDOM_BOT_LOGIN_AT_STARTUP} AiPlayerbot.RandomBotArenaTeam2v2Count = ${ACORE_PLAYERBOTS_RANDOM_BOT_ARENA_TEAM_2V2_COUNT} AiPlayerbot.RandomBotArenaTeam3v3Count = ${ACORE_PLAYERBOTS_RANDOM_BOT_ARENA_TEAM_3V3_COUNT} AiPlayerbot.RandomBotArenaTeam5v5Count = ${ACORE_PLAYERBOTS_RANDOM_BOT_ARENA_TEAM_5V5_COUNT}