MultiAdmin

Материал из SCP:SL Wiki
Перейти к: навигация, поиск

Описание[править]

MultiAdmin — это инструмент позволяющий заменить стоковый сервер SCP: Secret Laboratory, который необходим для удобного запуска нескольких серверов на одной машине. На текущий момент последняя версия: 3.2.3.

Последний релиз можно найти по этой ссылке.

Установка[править]

Для начала убедитесь что у вас стоит Mono версии 5.18.0 или выше. Вы можете найти последние релизы по этой ссылке.

Запуск одного сервера с MultiAdmin[править]

  1. Переместите MultiAdmin.exe в папку сервера (там где LocalAdmin.exe)

Запуск нескольких серверов с MultiAdmin[править]

  1. Переместите MultiAdmin.exe в папку сервера (там где LocalAdmin.exe)
  2. Создайте новую директорию, определенную как servers_folder (servers по умолчанию, смотрите настройки)
  3. Для каждого сервера, который вы хотите сделать, создайте каталог в каталоге servers_folder
  4. Опционально: Создайте файл с названием scp_multiadmin.cfg в папке вашего сервера, для настройки MultiAdmin для настройки именно этого сервера

Особенности[править]

  • Autoscale: Автоматически запускает новый сервер при заполнении предыдущего (для полноценной работы требуется ServerMod)
  • Config Reload: Перезагружает файл конфигурации MultiAdmin
  • Команда EXIT: добавляет изящную команду выхода
  • Help: Показывает полный список команд MultiAdmin, а также всех внутриигровых команд
  • Остановка сервера при неактивности: останавливает сервер когда он неактивен
  • Рестарт при малой памяти: Делает рестарт сервера при малом количестве памяти
  • Рестарт при малой памяти в конце раунда: Перезапускает сервер в конце раунда при малом количестве памяти
  • ModLog: Собирает сообщения администратора в отдельный файл или выводит их
  • MultiAdminInfo: Печатает информацию о лицензии
  • Команда NEW: Добавляет команду для запуска сервера с заданной папкой конфигурации
  • Команда Restart: Позволяет перезапустить игру без перезапуска MultiAdmin
  • Рестарт при следующем раунде: Перезапускает сервер по окончании текущего раунда
  • Перезагрузка после нескольких раундов: Перезапускает сервер после определенного количества раундов
  • Остановка в следующем раунде: Останавливает сервер при следующем раунде
  • TitleBar: Обновляет строку заголовка с информацией на основе примера, таким как id текущей сессии и количество игроков (для полноценной работы требуется ServerMod)

Команды MultiAdmin[править]

Это не включает ServerMod или внутриигровые команды, для получения полного списка введите HELP в консоли MultiAdmin.

  • CONFIG : Перезагрузка файла конфигурации
  • EXIT: Выходит с сервера
  • GITHUBGEN [FILE LOCATION]: Создает .md файл, с полным списком команд и функций
  • HELP: Печатает доступные команды и их функции
  • INFO: Печатает информацию о лицензии MultiAdmin
  • NEW: Запускает новый сервер с указанным Server ID
  • RESTART: Перезапускает сервер (MultiAdmin не будет перезагружаться, только игра)
  • RESTARTNEXTROUND: Перезапускает сервер в конце этого раунда
  • STOPNEXTROUND: Останавливает сервер в конце этого раунда

Аргументы исполнения MultiAdmin[править]

  • --headless или -h: Запускает MultiAdmin в автономном режиме, в нем MultiAdmin не принимает никаких вводимых данных, а только выводит их в файлы логов, не в консоль (этот аргумент наследуется процессами, запущенными этим MultiAdmin процессом)
  • --server-id <Server ID> или -id <Server ID>: ID сервера для запуска этого экземпляра MultiAdmin с расположением конфигов (--config или -c), так чтобы конфиг читался с указанного месторасположения, но логи хранились в папке запускаемого сервера.
  • --config <Config Location> или -c <Config Location>: Расположения конфига, который используется при запуске этого экземпляра MultiAdmin (Примечание: это используется поверх параметров конфигурации config_location)
  • --port <Server Port> или -p <Server Port>: Порт, использующийся этим экземпляром MultiAdmin (Подготовка к следующему релизу игры, в настоящее время ничего не делает)(Примечание: это используется поверх параметров конфигурации port и наследуется процессами, запущенными этим процессом MultiAdmin)

Настройки конфигурации[править]

Все параметры конфигурации находятся в файле scp_multiadmin.cfg в том же каталоге, что и MultiAdmin.exe или в каталоге вашего сервера в пределах значения servers_folder, определенного в глобальном файле конфигурации.

Attention.png Фонд проводит работы по созданию этой статьи.
Работы завершатся к [ДАННЫЕ УДАЛЕНЫ].

3.2.3[править]

Bug Fixes

  • It seems that sometimes the server wouldn't automatically restart on some Windows machines, this is a quick fix release

3.2.2[править]

Config Changes

  • Added double and decimal configs
  • Made memory checking use longs for byte data and use decimals for megabyte data to have lossless megabyte to byte conversion
    • All memory related configs now use a decimal value
  • Added safe shutdown check delay and timeout configs
    • safe_shutdown_check_delay, the time in milliseconds between checks for if a server is still running
    • safe_shutdown_timeout, the time in milliseconds before MultiAdmin gives up safely shutting down a server and just closes
  • Added StringMatches to default debug blacklist
  • Added config restart_every_num_rounds_counting
  • Added config for max read attempt count output_read_attempts

Misc Changes

  • Optimized the new input system
  • Added unit testing
  • Changed StringMatches to use proper debug logging
  • Changed attempt delay, increasing it slightly to hopefully account for slower read/write speeds
  • Added new version number for tester builds (ex. why it's 3.2.2.2 rather than 3.2.2), this should help make testing easier

Bug Fixes

  • Fixed InheritableConfigRegister being used instead of ConfigRegister
  • Fixed the Mono version checker incorrectly reporting versions as out of date
  • Fixed file name matching not matching the first part of a pattern correctly, or not matching if the pattern is too short
  • Fixed potential integer overflow with round end counting

3.2.1[править]

Misc Changes

  • Added automated config documentation generation to the GITHUBGEN command
  • Updated config documentation (as a result of automated generation)
  • Added Mono version checker
  • Changed license from CC-BY-SA 4.0 to MIT

Bug Fixes

  • Fixed config_location config hierarchy handling and added protection against infinite looping and the code locking up
  • Made server session deletion safer
  • Fixed bug with session staying after an error in execution, MultiAdmin should now attempt to delete it when it's closed

3.2.0[править]

Config Changes

  • Changed files_to_copy_from_folder to folder_copy_whitelist
  • Added folder_copy_blacklist, a list of files not to copy from the specified folder on reload
  • Added folder_copy_round_queue_whitelist, a list of files to copy from the next folder in the round queue
  • Added folder_copy_round_queue_blacklist, a list of files not to copy from the next folder in the round queue
  • Added safe_server_shutdown, whether to safely exit servers when MultiAdmin is closed
  • Added set_title_bar, whether to set the console window's title

Misc Changes

  • Added config names and descriptions to the code, this may be used later to generate documentation
  • Moved configs to a better system
  • Added Native Exit Signal watchers, MultiAdmin should now attempt to stop the server(s) when you close the program
  • Added basic AssemblyInfo with name, description, and version
  • Added recursive loading of config location and MultiAdmin configs
  • Added console colour retention, unless a console message has a defined colour, the original console colours should stay the same rather than defaulting to white on black

Bug Fixes

  • Hopefully fixed OutputHandler stopping output
  • Added null safety for the global config to Program logging and printing
  • Made logging catch exceptions and print them instead of crashing

3.1.2[править]

Изменения:

  • Fixed the start_config_on_full config starting a new instance repeatedly every time the server is full, now it only creates one instance at a time