Настройка сервера: различия между версиями
| [досмотренная версия] | [досмотренная версия] | 
Scott (обсуждение | вклад)  (хм)  | 
				Scott (обсуждение | вклад)   (Отмена правки 774, сделанной Scott (обсуждение)) Метка: отмена  | 
				||
| Строка 37: | Строка 37: | ||
{|class="wikitable"  | {|class="wikitable"  | ||
|-  | |-  | ||
| − | ! Команда !!   | + | ! Команда !! Значение  | 
|-  | |-  | ||
|help || Выводит список команд, включая те, которые добавляют плагины и небольшое описание к ним на английском языке  | |help || Выводит список команд, включая те, которые добавляют плагины и небольшое описание к ним на английском языке  | ||
| Строка 153: | Строка 153: | ||
'''Настройка конфигурации сервера.'''  | '''Настройка конфигурации сервера.'''  | ||
| − | + | {|class="wikitable"  | |
|-  | |-  | ||
! Команда !! Русское определение !! Русское определение  | ! Команда !! Русское определение !! Русское определение  | ||
Версия 15:44, 6 марта 2020
| Данная статья является логическим продолжением вот этой статьи. Если у вас VPS/VDS, вы всё же пробросили порт у роутера, или же решили запустить сервер в сети VPN для товарищей с грамотным переключением карт и плагинами - вам сюда. | 
Начать стоит с того, что запущенный из меню паузы сервер - это и не сервер вовсе. Это - совместная игра с товарищем. На сервере карты переключаются автоматически после проигрыша, существуют плагины для дополнительной настройки сервера и грамотная система банов по IP/UUID. Начнём с терминологии - толкового словарика для юного админа.
Содержание
Словарик юного администратора
| Термин | Русское определение | 
|---|---|
| IP адрес | Каждое устройство в интернете имеет свой уникальный адрес. Данный адрес, как правило, даётся тебе интернет-провайдером, и из-под него ты бродишь по интернету. Обычно бродишь ты, но тут бродить будут к нам. Запросто может получиться, что у игрока будет меняться IP адрес - рядовым пользователям интернета IP выдаётся при каждом подключении к сети (прим. выключить/включить мобильные данные на телефоне - и уже другой адрес; Перезагрузить роутер - уже другой адрес.). Если банить по IP - человек не зайдёт на сервер с этого IP. Если такой заблокированный адрес попадёт добропорядочному гражданину - он также будет несправедливо забанен. | 
| Порт | Не бывает такого, чтобы к тебе подключились не через порт. Порт в сети - это "место", к которому мы подключаемся. Игра Mindustry по умолчанию использует 6567 порт TCP/UDP (вот типы портов нам знать пока необязательно). Сайты в браузере, по которым мы бродим, обычно расположены на порту 80. Да-да, по сути, мы пробрасываем порт нашего компьютера в интернет через роутер именно для подключения в последствии к нам других товарищей - порты на роутере по умолчанию не проброшены, чтобы избежать проблем и незваных гостей. | 
| VPS/VDS | По сути - кусок железки, который вы арендуете. Делать с ним можно всё, что душе (и хостеру) угодно. В данном случае - сервер по Mindustry. Порты на таких "кусках железа", виртуальных серверах уже проброшены и сервер готов к использованию. | 
| UUID | Уникальный идентификатор игрока. Сохраняется в прогрессе игры. Если банить по UUID - игрок не сможет подключиться с этого его устройства. Исключение - случаи обхода банов хитрыми путями | 
| Плагин | Это отдельный файл .jar, закинутый в папку плагинов. Может расширять список команд сервера, добавлять какие-либо оповещения, изменять ники игроков и так далее. Есть самые разные плагины для сервера, которые уже успели написать. | 
Данный словарик дал вам понять, чем мы будем вертеть во время объяснения. Все эти термины так или иначе используются в администрировании сервера. Давайте-ка рассмотрим процесс настройки.
Загрузка ядра сервера
Загружается ядро сервера с страницы на GitHub - просто скачиваете лёгкую серверную версию. После этого необходимо запустить сервер через терминал командой
java -jar server-release.jar
Если вы используете VPS/VDS, то не забудьте установить пакет default-jre, что можно сделать через менеджер пакетов. Обычно на Ubuntu/Debian и их потомках используется менеджер пакетов apt
В итоге команда будет выглядеть так:
sudo apt install default-jre
Теперь можно запустить сервер, перейдя в папку с ним и прописав вышеуказанную команду.
Администрирование
Переходим к более интересному моменту. Вот вы успешно справились с запуском сервера и теперь видите вот это
![]()
Это - консоль сервера. Отсюда будет происходить управление им. Давайте рассмотрим команды управления им.
| Команда | Значение | 
|---|---|
| help | Выводит список команд, включая те, которые добавляют плагины и небольшое описание к ним на английском языке | 
| version | Отображает версию сервера | 
| exit | Завершает работу сервера и выходит обратно в систему | 
| stop | Останавливает хост сервера | 
| host имя_карты режим | Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен. | 
| Если не указывать режим - запустится выживание | |
| Если не указывать карту - запустится случайная карта | |
| survival - режим выживание, с волнами по таймеру | |
| attack - режим атаки, цель - уничтожить базу врага. При уничтожении всех вражеских ядер игра заканчивается | |
| pvp - сражение нескольких команд игроков. Побеждает та команда, ядро которой остаётся целым | |
| sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D | |
| maps | Выводит список карт на сервере | 
| reloadmaps | Перезагружает список карт, использовать в случае, если вы добавили/удалили карту | 
| status | Отображает статус сервера, список игроков на нём, карту и волну | 
| mods | Выводит список установленных плагинов и модификаций | 
| mod название | Выводит информацию о конкретном плагине или модификации | 
| js скрипт | Задать Java Script на сервере | 
| say сообщение | Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток | 
| difficulty сложность | Задаёт сложность игры на сервере, которую вы выберете. | 
| easy - лёгкая | |
| normal - обычная | |
| hard - сложная | |
| fillitems команда | Заполняет ядро ресурсами у определённой команды | 
| Если в текущей игре всего одна команда, то её можно не указывать | |
| playerlimit off/число | Задаёт ограничение игроков на сервере (число), либо убирает его (off) | 
| Если не указать число или off - можно посмотреть текущий лимит | |
| subnet-ban add/remove IP | Заблокировать или разблокировать подсеть | 
| whitelist on/off | Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков | 
| Если не указать on/off, то можно глянуть на статус белого списка - включен тот или нет | |
| whitelisted | выводит список игроков, которые есть в белом списке | 
| whitelist-add UUID | Добавить в белый список игрока, которому можно посещать сервер (при условии, что белый список активирован) | 
| whitelist-remove UUID | Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован) | 
| shuffle значение | Случайный порядок карт | 
| none - отключить порядок карт | |
| all - случайный порядок со всеми картами | |
| custom - случайный порядок пользовательских карт (не будет запускать встроенные карты) | |
| builtin - запускать случайный порядок встроенных карт | |
| kick ник | Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут | 
| ban тип значение | Заблокировать игрока по одному из параметров | 
| id - UUID игрока будет заблокирован, данный игрок уже не зайдёт с устройства | |
| ip - IP блокируется IP адрес. Не забываем, что для обхода данного бана надо всего лишь переподключиться к интернету (или перезагрузить роутер) | |
| name - блокируется игрок по конкретному никнейму | |
| bans | Посмотреть список всех блокировок | 
| unban ip/UUID | Снять блокировку с игрока по IP/UUID | 
| admin add/remove ник | Повысить или понизить игрока | 
| admins | Выводит список администраторов | 
| players | Выводит список игроков на сервере | 
| runwave | Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя | 
| load слот | Загрузить состояние игры из слота (слот - это целое число) | 
| save слот | Сохранить состояние игры в слот (слот - это целое число) | 
| saves | Посмотреть список сохраненных игр | 
| gameover | Разрушить ядро и закончить текущую игру | 
| info UUID/IP/ник | Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID | 
| search ник | Выводит игроков с заданным никнеймом | 
| gc | Тестовая команда, оптимизирует потребление ОЗУ сервера | 
Настройка конфигурации сервера.
| Команда | Русское определение | Русское определение | 
|---|---|---|
| config | ||
| name значение | Задать название сервера | |
| desс значение | Задать описание сервера (отображается под названием) | |
| port значение | Задать порт на котором будет размещен сервер (если не указывать значение, то сервер разместится на 6567 порту) | |
| autoUpdate true/false | Включение или выключение автообновления сервера на новейшую версию Bleeding-edge | |
| showConnectMessages true/false | Отображать в консоли сообщения о подключении или отключении игрока | |
| enableVotekick true/false | Разрешить или запретить голосование на кик игрока | |
| startCommands команда,команда,команда | Задать команды с которыми запустится сервер | |
| crashReport true/false | Включить или выключить автоматическую отправку ошибок и вылетов разработчику | |
| logging true/false | Включает или выключает сохранение логов сервера в файлы | |
| strict true/false | Ставит или снимает ограничение на 1 устройство - если включено, то на сервере не могут находиться игроки с одинаковыми никнеймами | |
| antiSpam true/false | Включение или отключение авто-кика игроков при спаме сообщениями | |
| messageRateLimit значение | Время (в секундах) между сообщениями | |
| messageSpamKick значение | Количество сообщений, после которого игрока кикнет с сервера за спам | |
| socketInput true/false | Разрешает или запрещает управление сервером сторонним приложениям через локальный TCP порт 6859 | |
| socketInputPort порт | Порт, на который будут приходить команды | |
| socketInputAddress адрес | Адрес откуда сервер будет принимать команды | |
| allowCustomClients true/false | Разрешить или запретить использование пользовательских клиентов на сервере. Допустим игрок изменил в коде игры что-то и собрал игру обратно - это "пользовательская сборка". Внимание - из-за изменений в коде на таких сборках могут возникать ошибки! | |
| whitelist true/false | Включает или отключает вход по белому списку | |
| motd off/значение | Сообщение, которое будет появляться у игроков при заходе на сервер | 
Структура папок, или зачем server-release.jar кладут в отдельную папку
Вообще после старта создаётся рядом единственная папка - config. Вот уже там лежит всё, что нас будет интересовать
- logs
 
В данном каталоге лежат логи сервера, если включены. Настоятельно рекомендую включить логгирование - это позволит вам запоминать информацию об игроках и отслеживать настроение/онлайн сервера. Лог может быть полезен в ситуациях, когда есть некий нарушитель, отрицающий свою вину. "Выписка" из логов - и данного нахала можно наказать сильнее, чем обычно. Поэтому мой вам совет - никогда не обманывайте админов, у них есть неопровержимые доказательства в виде логов. По сути своей .log это текстовый файл, в котором записываются все действия игроков - всё то, что вы видите в окне консоли сервера. Вы, конечно, можете не включать логгирование, чтобы такие файлы тут не создавались. Время и дата, если что, берутся из системы, на которой запущен сервер. Поэтому на зарубежных хостингах могут быть проблемы со временем.
- maps
 
Тут лежат карты, которые должны быть на сервере. Карты имеют формат .msav (не путать с обычными игровыми сохранениями!) и доступны для скачивания в нашем архиве - там все карты, которые побывали у нас. Однако вы можете предложить игрокам нарисовать карты самостоятельно - именно так и появлялись карты у нас на сервере. Кстати, заполнять эту папку совсем не обязательно - определённый набор стандартных карт уже установлен и не требует более ничего.
- mods
 
Тут находятся моды и плагины, которые необходимо установить для доступа к вашему серверу. Учтите, что подключение к серверу возможно только тогда, когда у игрока и сервера одинаковый набор модов и одинаковые их версии. Учтите, что игра не поддерживает автоматическую загрузку модов с сервера, и вам придётся как-то распространять моды самостоятельно.