Настройка сервера: различия между версиями
[досмотренная версия] | [досмотренная версия] |
Scott (обсуждение | вклад) |
|||
Строка 47: | Строка 47: | ||
| stop || Останавливает хост сервера | | stop || Останавливает хост сервера | ||
|- | |- | ||
− | |rowspan=" | + | |rowspan="7"|host имя_карты режим||Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен. |
|- | |- | ||
||Если не указывать режим - запустится выживание | ||Если не указывать режим - запустится выживание | ||
+ | |- | ||
+ | ||Если не указывать карту - запустится случайная карта | ||
|- | |- | ||
||survival - режим выживание, с волнами по таймеру | ||survival - режим выживание, с волнами по таймеру | ||
Строка 58: | Строка 60: | ||
|- | |- | ||
||sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D | ||sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|maps||Выводит список карт на сервере | |maps||Выводит список карт на сервере | ||
Строка 69: | Строка 67: | ||
|status||Отображает статус сервера, список игроков на нём, карту и волну | |status||Отображает статус сервера, список игроков на нём, карту и волну | ||
|- | |- | ||
− | | | + | |mods||Выводит список установленных плагинов и модификаций |
|- | |- | ||
− | | | + | |mod название||Выводит информацию о конкретном плагине или модификации |
+ | |- | ||
+ | |js скрипт||Задать Java Script на сервере | ||
|- | |- | ||
|say сообщение||Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток | |say сообщение||Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток | ||
|- | |- | ||
− | |rowspan="4"|difficulty | + | |rowspan="4"|difficulty сложность||Задаёт сложность игры на сервере, которую вы выберете. |
|- | |- | ||
||easy - лёгкая | ||easy - лёгкая | ||
Строка 86: | Строка 86: | ||
|- | |- | ||
||Если в текущей игре всего одна команда, то её можно не указывать | ||Если в текущей игре всего одна команда, то её можно не указывать | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|rowspan="2"|playerlimit off/число||Задаёт ограничение игроков на сервере (число), либо убирает его (off) | |rowspan="2"|playerlimit off/число||Задаёт ограничение игроков на сервере (число), либо убирает его (off) | ||
|- | |- | ||
||Если не указать число или off - можно посмотреть текущий лимит | ||Если не указать число или off - можно посмотреть текущий лимит | ||
+ | |- | ||
+ | |subnet-ban add/remove IP||Заблокировать или разблокировать подсеть | ||
|- | |- | ||
|rowspan="2"|whitelist on/off|| Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков | |rowspan="2"|whitelist on/off|| Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков | ||
Строка 105: | Строка 103: | ||
|whitelist-remove UUID||Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован) | |whitelist-remove UUID||Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован) | ||
|- | |- | ||
− | | | + | |rowspan="5"|shuffle значение||Случайный порядок карт |
|- | |- | ||
− | | | + | ||none - отключить порядок карт |
|- | |- | ||
− | | | + | ||all - случайный порядок со всеми картами |
|- | |- | ||
− | | | + | ||custom - случайный порядок пользовательских карт (не будет запускать встроенные карты) |
|- | |- | ||
− | || | + | ||builtin - запускать случайный порядок встроенных карт |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|kick ник||Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут | |kick ник||Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут | ||
Строка 130: | Строка 122: | ||
|- | |- | ||
||name - блокируется игрок по конкретному никнейму | ||name - блокируется игрок по конкретному никнейму | ||
+ | |- | ||
+ | |bans||Посмотреть список всех блокировок | ||
|- | |- | ||
|unban ip/UUID||Снять блокировку с игрока по IP/UUID | |unban ip/UUID||Снять блокировку с игрока по IP/UUID | ||
|- | |- | ||
− | |admin ник|| | + | |admin add/remove ник||Повысить или понизить игрока |
|- | |- | ||
− | | | + | |admins||Выводит список администраторов |
|- | |- | ||
− | | | + | |players||Выводит список игроков на сервере |
|- | |- | ||
|runwave||Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя | |runwave||Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя | ||
Строка 144: | Строка 138: | ||
|- | |- | ||
|save слот||Сохранить состояние игры в слот (слот - это целое число) | |save слот||Сохранить состояние игры в слот (слот - это целое число) | ||
+ | |- | ||
+ | |saves||Посмотреть список сохраненных игр | ||
|- | |- | ||
|gameover||Разрушить ядро и закончить текущую игру | |gameover||Разрушить ядро и закончить текущую игру | ||
Строка 149: | Строка 145: | ||
|info UUID/IP/ник||Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID | |info UUID/IP/ник||Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID | ||
|- | |- | ||
− | |gc|| | + | |search ник||Выводит игроков с заданным никнеймом |
+ | |- | ||
+ | |gc||Тестовая команда, оптимизирует потребление ОЗУ сервера | ||
|- | |- | ||
|}<br> | |}<br> | ||
+ | |||
== Структура папок, или зачем server-release.jar кладут в отдельную папку == | == Структура папок, или зачем server-release.jar кладут в отдельную папку == | ||
Вообще после старта создаётся рядом единственная папка - '''config'''. Вот уже там лежит всё, что нас будет интересовать<br/> | Вообще после старта создаётся рядом единственная папка - '''config'''. Вот уже там лежит всё, что нас будет интересовать<br/> |
Версия 15:31, 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 | Тестовая команда, оптимизирует потребление ОЗУ сервера |
Структура папок, или зачем server-release.jar кладут в отдельную папку
Вообще после старта создаётся рядом единственная папка - config. Вот уже там лежит всё, что нас будет интересовать
- logs
В данном каталоге лежат логи сервера, если включены. Настоятельно рекомендую включить логгирование - это позволит вам запоминать информацию об игроках и отслеживать настроение/онлайн сервера. Лог может быть полезен в ситуациях, когда есть некий нарушитель, отрицающий свою вину. "Выписка" из логов - и данного нахала можно наказать сильнее, чем обычно. Поэтому мой вам совет - никогда не обманывайте админов, у них есть неопровержимые доказательства в виде логов. По сути своей .log это текстовый файл, в котором записываются все действия игроков - всё то, что вы видите в окне консоли сервера. Вы, конечно, можете не включать логгирование, чтобы такие файлы тут не создавались. Время и дата, если что, берутся из системы, на которой запущен сервер. Поэтому на зарубежных хостингах могут быть проблемы со временем.
- maps
Тут лежат карты, которые должны быть на сервере. Карты имеют формат .msav (не путать с обычными игровыми сохранениями!) и доступны для скачивания в нашем архиве - там все карты, которые побывали у нас. Однако вы можете предложить игрокам нарисовать карты самостоятельно - именно так и появлялись карты у нас на сервере. Кстати, заполнять эту папку совсем не обязательно - определённый набор стандартных карт уже установлен и не требует более ничего.
- plugins
Тут лежат плагины на сервер - это такие штуки, которые позволяют расширить функционал сервера, добавить новые, ранее не существовавшие пользовательские и серверные команды, предупреждения, запреты и прочее. Плагины можно найти на GitHub в поиске по репозиториям. Плагины имеют расширение .jar и, как правило, не требуют дополнительной настройки для начала работы. Для загрузки плагинов необходимо закрыть/открыть сервер. Подробнее о манипуляциях с ними в разделе команд выше.
- mods
Тут находятся моды, которые необходимо установить для доступа к вашему серверу. Учтите, что подключение к серверу возможно только тогда, когда у игрока и сервера одинаковый набор модов и одинаковые их версии. Учтите, что игра не поддерживает автоматическую загрузку модов с сервера, и вам придётся как-то распространять моды самостоятельно.