Настройка сервера: различия между версиями
[непроверенная версия] | [досмотренная версия] |
(Содержимое страницы заменено на «Хуйня Хуйня Хуйня Хуйня Хуйня») Метки: правка из мобильной версии, правка с мобильного устройства, замена |
м (Откат правок Pro Sto Chel (обсуждение) к версии PetruCHIOrus) Метка: откат |
||
Строка 1: | Строка 1: | ||
− | |||
− | + | {{Шаблон:Плашка | |
+ | | title = Данная статья является логическим продолжением вот [[Создание сервера|этой]] статьи. Если у вас VPS/VDS, вы всё же пробросили порт у [[Роутер|роутера]], или же решили запустить сервер в сети VPN для товарищей с грамотным переключением карт и плагинами - вам сюда. | ||
+ | | text = | ||
+ | | img = Write_it.png | ||
+ | }} | ||
+ | Начать стоит с того, что запущенный из меню паузы сервер - это и не сервер вовсе. Это - совместная игра с товарищем. На сервере карты переключаются автоматически после проигрыша, существуют плагины для дополнительной настройки сервера и грамотная система банов по IP/UUID. Начнём с терминологии - толкового словарика для юного админа. | ||
+ | == Словарик юного администратора == | ||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | ! Термин !! Русское определение | ||
+ | |- | ||
+ | | IP адрес || Каждое устройство в интернете имеет свой уникальный адрес. Данный адрес, как правило, даётся тебе интернет-провайдером, и из-под него ты бродишь по интернету. Обычно бродишь ты, но тут бродить будут к нам. Запросто может получиться, что у игрока будет меняться IP адрес - рядовым пользователям интернета IP выдаётся при каждом подключении к сети (прим. выключить/включить мобильные данные на телефоне - и уже другой адрес; Перезагрузить [[Роутер|роутер]] - уже другой адрес.). Если банить по IP - человек не зайдёт на сервер с этого IP. Если такой заблокированный адрес попадёт добропорядочному гражданину - он также будет несправедливо забанен. | ||
+ | |- | ||
+ | | Порт || Не бывает такого, чтобы к тебе подключились не через порт. Порт в сети - это "место", к которому мы подключаемся. Игра Mindustry по умолчанию использует 6567 порт TCP/UDP (вот типы портов нам знать пока необязательно). Сайты в браузере, по которым мы бродим, обычно расположены на порту 80. Да-да, по сути, мы пробрасываем порт нашего компьютера в интернет через роутер именно для подключения в последствии к нам других товарищей - порты на [[Роутер|роутере]] по умолчанию не проброшены, чтобы избежать проблем и незваных гостей. | ||
+ | |- | ||
+ | | VPS/VDS || По сути - кусок железки, который вы арендуете. Делать с ним можно всё, что душе (и хостеру) угодно. В данном случае - сервер по Mindustry. Порты на таких "кусках железа", виртуальных серверах уже проброшены и сервер готов к использованию. | ||
+ | |- | ||
+ | |UUID||Уникальный идентификатор игрока. Сохраняется в прогрессе игры. Если банить по UUID - игрок не сможет подключиться с этого его устройства. Исключение - случаи обхода банов хитрыми путями | ||
+ | |- | ||
+ | |Плагин||Это отдельный файл .jar, закинутый в папку плагинов. Может расширять список команд сервера, добавлять какие-либо оповещения, изменять ники игроков и так далее. Есть самые разные плагины для сервера, которые уже успели написать. | ||
+ | |}<br> | ||
+ | Данный словарик дал вам понять, чем мы будем вертеть во время объяснения. Все эти термины так или иначе используются в администрировании сервера. Давайте-ка рассмотрим процесс настройки. | ||
+ | == Загрузка ядра сервера == | ||
+ | Загружается ядро сервера с страницы на [https://github.com/Anuken/Mindustry/releases GitHub] - просто скачиваете лёгкую серверную версию. | ||
+ | После этого необходимо запустить сервер через терминал командой | ||
+ | java -jar server-release.jar | ||
+ | <br/>Если вы используете VPS/VDS, то не забудьте установить пакет '''default-jre''', что можно сделать через менеджер пакетов. Обычно на Ubuntu/Debian и их потомках используется менеджер пакетов apt | ||
+ | <br/>В итоге команда будет выглядеть так: | ||
+ | sudo apt install default-jre | ||
+ | <br/>Теперь можно запустить сервер, перейдя в папку с ним и прописав вышеуказанную команду. | ||
− | + | == Администрирование == | |
− | + | Переходим к более интересному моменту. Вот вы успешно справились с запуском сервера и теперь видите вот это | |
− | + | [[Файл:Serv1.png]]<br/> | |
− | + | Это - консоль сервера. Отсюда будет происходить управление им. Давайте рассмотрим команды управления им. | |
− | + | {|class="wikitable" | |
+ | |- | ||
+ | ! Команда !! Русское определение | ||
+ | |- | ||
+ | |help || Выводит список команд, включая те, которые добавляют плагины и небольшое описание к ним на английском языке | ||
+ | |- | ||
+ | | version || Отображает версию сервера | ||
+ | |- | ||
+ | | exit || Завершает работу сервера и выходит обратно в систему | ||
+ | |- | ||
+ | | stop || Останавливает хост сервера | ||
+ | |- | ||
+ | |rowspan="6"|host имя_карты режим||Запускает хост на карте с выбранным режимом. Если это не написать - сервер будет недоступен. | ||
+ | |- | ||
+ | ||Если не указывать режим - запустится выживание | ||
+ | |- | ||
+ | ||survival - режим выживание, с волнами по таймеру | ||
+ | |- | ||
+ | ||attack - режим атаки, цель - уничтожить базу врага. При уничтожении всех вражеских ядер игра заканчивается | ||
+ | |- | ||
+ | ||pvp - сражение нескольких команд игроков. Побеждает та команда, ядро которой остаётся целым | ||
+ | |- | ||
+ | ||sandbox - песочница, безграничные ресурсы, ой да мне ли объяснять, что это за режим? :D | ||
+ | |- | ||
+ | |rowspan="2"|port||Задаёт порт для сервера. Обычно менять не надо, но если на одном сервере надо запустить несколько - можно задать другой порт. По умолчанию используется 6567, если его в игре не указывать - она сама постучит на порт 6567. Обычно порт указывается в игре через двоеточие, например 12.34.56.78:7777 | ||
+ | |- | ||
+ | ||Если не дописывать в конце новый порт - просто покажет текущий порт. | ||
+ | |- | ||
+ | |maps||Выводит список карт на сервере | ||
+ | |- | ||
+ | |reloadmaps||Перезагружает список карт, использовать в случае, если вы добавили/удалили карту | ||
+ | |- | ||
+ | |status||Отображает статус сервера, список игроков на нём, карту и волну | ||
+ | |- | ||
+ | |plugins||Выводит список установленных плагинов | ||
+ | |- | ||
+ | |plugin название||Выводит информацию о конкретном плагине | ||
+ | |- | ||
+ | |say сообщение||Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток | ||
+ | |- | ||
+ | |rowspan="4"|difficulty (сложность)||Задаёт сложность игры на сервере, которую вы выберете. | ||
+ | |- | ||
+ | ||easy - лёгкая | ||
+ | |- | ||
+ | ||normal - обычная | ||
+ | |- | ||
+ | ||hard - сложная | ||
+ | |- | ||
+ | |rowspan="2"|fillitems команда||Заполняет ядро ресурсами у определённой команды | ||
+ | |- | ||
+ | ||Если в текущей игре всего одна команда, то её можно не указывать | ||
+ | |- | ||
+ | |rowspan="2"|name название||Задаёт название сервера. Можно использовать [[Цвета|цветовые теги]] для разноцветного названия. | ||
+ | |- | ||
+ | ||Если не писать новое название - можно прочитать старое | ||
+ | |- | ||
+ | |rowspan="2"|playerlimit off/число||Задаёт ограничение игроков на сервере (число), либо убирает его (off) | ||
+ | |- | ||
+ | ||Если не указать число или off - можно посмотреть текущий лимит | ||
+ | |- | ||
+ | |rowspan="2"|whitelist on/off|| Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков | ||
+ | |- | ||
+ | ||Если не указать on/off, то можно глянуть на статус белого списка - включен тот или нет | ||
+ | |- | ||
+ | |whitelisted||выводит список игроков, которые есть в белом списке | ||
+ | |- | ||
+ | |whitelist-add UUID||Добавить в белый список игрока, которому можно посещать сервер (при условии, что белый список активирован) | ||
+ | |- | ||
+ | |whitelist-remove UUID||Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован) | ||
+ | |- | ||
+ | |crashreport on/off||Включить или выключить автоматическую отправку ошибок и вылетов разработчику | ||
+ | |- | ||
+ | |logging on/off||Включает или выключает сохранение логов сервера в файлы | ||
+ | |- | ||
+ | |strict on/off||Ставит или снимает ограничение на 1 устройство - если включено, то на сервере не могут находиться игроки с одинаковыми никами | ||
+ | |- | ||
+ | |rowspan="2"|socketinput on/off||Разрешает или запрещает управление сервером сторонним приложениям через локальный TCP порт 6859 | ||
+ | |- | ||
+ | ||Если не указать on/off, можно узнать текущий статус настройки | ||
+ | |- | ||
+ | |rowspan="2"|allow-custom-clients on/off||Разрешить или запретить использование пользовательских клиентов на сервере. Допустим игрок изменил в коде игры что-то и собрал игру обратно - это "пользовательская сборка". Внимание - из-за изменений в коде на таких сборках могут возникать ошибки! | ||
+ | |- | ||
+ | ||Если не указывать значение, то можно посмотреть текущий статус данной настройки | ||
+ | |- | ||
+ | |shuffle on/off||Включает или выключает случайный порядок карт на сервере. Если выключено - карты идут одна за другой | ||
+ | |- | ||
+ | |kick ник||Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут | ||
+ | |- | ||
+ | |rowspan="4"|ban тип значение||Заблокировать игрока по одному из параметров | ||
+ | |- | ||
+ | ||id - UUID игрока будет заблокирован, данный игрок уже не зайдёт с устройства | ||
+ | |- | ||
+ | ||ip - IP блокируется IP адрес. Не забываем, что для обхода данного бана надо всего лишь переподключиться к интернету (или перезагрузить [[Роутер|роутер]]) | ||
+ | |- | ||
+ | ||name - блокируется игрок по конкретному никнейму | ||
+ | |- | ||
+ | |unban ip/UUID||Снять блокировку с игрока по IP/UUID | ||
+ | |- | ||
+ | |admin ник||Сделать игрока модератором | ||
+ | |- | ||
+ | |unadmin||Разжаловать модератора до рядового игрока | ||
+ | |- | ||
+ | |admins||Посмотреть список модераторов | ||
+ | |- | ||
+ | |runwave||Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя | ||
+ | |- | ||
+ | |load слот||Загрузить состояние игры из слота (слот - это целое число) | ||
+ | |- | ||
+ | |save слот||Сохранить состояние игры в слот (слот - это целое число) | ||
+ | |- | ||
+ | |gameover||Разрушить ядро и закончить текущую игру | ||
+ | |- | ||
+ | |info UUID/IP/ник||Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID | ||
+ | |- | ||
+ | |gc||тестовая команда, оптимизирует потребление ОЗУ сервера | ||
+ | |- | ||
+ | |}<br> | ||
+ | == Структура папок, или зачем server-release.jar кладут в отдельную папку == | ||
+ | Вообще после старта создаётся рядом единственная папка - '''config'''. Вот уже там лежит всё, что нас будет интересовать<br/> | ||
+ | * logs | ||
+ | В данном каталоге лежат логи сервера, если включены. Настоятельно рекомендую включить логгирование - это позволит вам запоминать информацию об игроках и отслеживать настроение/онлайн сервера. Лог может быть полезен в ситуациях, когда есть некий нарушитель, отрицающий свою вину. "Выписка" из логов - и данного нахала можно наказать сильнее, чем обычно. Поэтому мой вам совет - никогда не обманывайте админов, у них есть неопровержимые доказательства в виде логов. По сути своей .log это текстовый файл, в котором записываются все действия игроков - всё то, что вы видите в окне консоли сервера. Вы, конечно, можете не включать логгирование, чтобы такие файлы тут не создавались. Время и дата, если что, берутся из системы, на которой запущен сервер. Поэтому на зарубежных хостингах могут быть проблемы со временем. | ||
+ | * maps | ||
+ | Тут лежат карты, которые должны быть на сервере. Карты имеют формат .msav (не путать с обычными игровыми сохранениями!) и доступны для скачивания в нашем [http://petruchio.org.ru/mindustry_content/maps/msav/ архиве] - там все карты, которые побывали у нас. Однако вы можете предложить игрокам нарисовать карты самостоятельно - именно так и появлялись карты у нас на сервере. Кстати, заполнять эту папку совсем не обязательно - определённый набор стандартных карт уже установлен и не требует более ничего. | ||
+ | * plugins | ||
+ | Тут лежат плагины на сервер - это такие штуки, которые позволяют расширить функционал сервера, добавить новые, ранее не существовавшие пользовательские и серверные команды, предупреждения, запреты и прочее. Плагины можно найти на GitHub в поиске по репозиториям. Плагины имеют расширение .jar и, как правило, не требуют дополнительной настройки для начала работы. Для загрузки плагинов необходимо закрыть/открыть сервер. Подробнее о манипуляциях с ними в разделе команд выше |
Версия 01:53, 7 ноября 2019
Данная статья является логическим продолжением вот этой статьи. Если у вас 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 | |
port | Задаёт порт для сервера. Обычно менять не надо, но если на одном сервере надо запустить несколько - можно задать другой порт. По умолчанию используется 6567, если его в игре не указывать - она сама постучит на порт 6567. Обычно порт указывается в игре через двоеточие, например 12.34.56.78:7777 |
Если не дописывать в конце новый порт - просто покажет текущий порт. | |
maps | Выводит список карт на сервере |
reloadmaps | Перезагружает список карт, использовать в случае, если вы добавили/удалили карту |
status | Отображает статус сервера, список игроков на нём, карту и волну |
plugins | Выводит список установленных плагинов |
plugin название | Выводит информацию о конкретном плагине |
say сообщение | Выводит игрокам в чат сообщение от имени сервера. Можно использовать для объявлений, предупреждений, разрешений странных конфликтов и шуток |
difficulty (сложность) | Задаёт сложность игры на сервере, которую вы выберете. |
easy - лёгкая | |
normal - обычная | |
hard - сложная | |
fillitems команда | Заполняет ядро ресурсами у определённой команды |
Если в текущей игре всего одна команда, то её можно не указывать | |
name название | Задаёт название сервера. Можно использовать цветовые теги для разноцветного названия. |
Если не писать новое название - можно прочитать старое | |
playerlimit off/число | Задаёт ограничение игроков на сервере (число), либо убирает его (off) |
Если не указать число или off - можно посмотреть текущий лимит | |
whitelist on/off | Задаёт параметр белого списка игроков - это когда вы хотите сделать приватный сервер для нескольких игроков и не хотите видеть на нём чужаков |
Если не указать on/off, то можно глянуть на статус белого списка - включен тот или нет | |
whitelisted | выводит список игроков, которые есть в белом списке |
whitelist-add UUID | Добавить в белый список игрока, которому можно посещать сервер (при условии, что белый список активирован) |
whitelist-remove UUID | Убрать игрока из белого списка, запретив ему посещать сервер (при условии, что белый список активирован) |
crashreport on/off | Включить или выключить автоматическую отправку ошибок и вылетов разработчику |
logging on/off | Включает или выключает сохранение логов сервера в файлы |
strict on/off | Ставит или снимает ограничение на 1 устройство - если включено, то на сервере не могут находиться игроки с одинаковыми никами |
socketinput on/off | Разрешает или запрещает управление сервером сторонним приложениям через локальный TCP порт 6859 |
Если не указать on/off, можно узнать текущий статус настройки | |
allow-custom-clients on/off | Разрешить или запретить использование пользовательских клиентов на сервере. Допустим игрок изменил в коде игры что-то и собрал игру обратно - это "пользовательская сборка". Внимание - из-за изменений в коде на таких сборках могут возникать ошибки! |
Если не указывать значение, то можно посмотреть текущий статус данной настройки | |
shuffle on/off | Включает или выключает случайный порядок карт на сервере. Если выключено - карты идут одна за другой |
kick ник | Выгнать игрока с сервера. Ещё некоторое время он не сможет зайти на него, не дольше пяти минут |
ban тип значение | Заблокировать игрока по одному из параметров |
id - UUID игрока будет заблокирован, данный игрок уже не зайдёт с устройства | |
ip - IP блокируется IP адрес. Не забываем, что для обхода данного бана надо всего лишь переподключиться к интернету (или перезагрузить роутер) | |
name - блокируется игрок по конкретному никнейму | |
unban ip/UUID | Снять блокировку с игрока по IP/UUID |
admin ник | Сделать игрока модератором |
unadmin | Разжаловать модератора до рядового игрока |
admins | Посмотреть список модераторов |
runwave | Запустить принудительно следующую волну. Работает даже тогда, когда из интерфейса игры этого сделать нельзя |
load слот | Загрузить состояние игры из слота (слот - это целое число) |
save слот | Сохранить состояние игры в слот (слот - это целое число) |
gameover | Разрушить ядро и закончить текущую игру |
info UUID/IP/ник | Посмотреть всю известную об игроке информацию - все IP-адреса, которые он использовал, все ники, которые он использовал, его UUID |
gc | тестовая команда, оптимизирует потребление ОЗУ сервера |
Структура папок, или зачем server-release.jar кладут в отдельную папку
Вообще после старта создаётся рядом единственная папка - config. Вот уже там лежит всё, что нас будет интересовать
- logs
В данном каталоге лежат логи сервера, если включены. Настоятельно рекомендую включить логгирование - это позволит вам запоминать информацию об игроках и отслеживать настроение/онлайн сервера. Лог может быть полезен в ситуациях, когда есть некий нарушитель, отрицающий свою вину. "Выписка" из логов - и данного нахала можно наказать сильнее, чем обычно. Поэтому мой вам совет - никогда не обманывайте админов, у них есть неопровержимые доказательства в виде логов. По сути своей .log это текстовый файл, в котором записываются все действия игроков - всё то, что вы видите в окне консоли сервера. Вы, конечно, можете не включать логгирование, чтобы такие файлы тут не создавались. Время и дата, если что, берутся из системы, на которой запущен сервер. Поэтому на зарубежных хостингах могут быть проблемы со временем.
- maps
Тут лежат карты, которые должны быть на сервере. Карты имеют формат .msav (не путать с обычными игровыми сохранениями!) и доступны для скачивания в нашем архиве - там все карты, которые побывали у нас. Однако вы можете предложить игрокам нарисовать карты самостоятельно - именно так и появлялись карты у нас на сервере. Кстати, заполнять эту папку совсем не обязательно - определённый набор стандартных карт уже установлен и не требует более ничего.
- plugins
Тут лежат плагины на сервер - это такие штуки, которые позволяют расширить функционал сервера, добавить новые, ранее не существовавшие пользовательские и серверные команды, предупреждения, запреты и прочее. Плагины можно найти на GitHub в поиске по репозиториям. Плагины имеют расширение .jar и, как правило, не требуют дополнительной настройки для начала работы. Для загрузки плагинов необходимо закрыть/открыть сервер. Подробнее о манипуляциях с ними в разделе команд выше