RE:NODE

Руководства10 мин чтения

Игровой сервер для школы или клуба

Как вести игровой сервер для школы, клуба или молодёжной группы: выбор игры, вайтлист, чат и модерация, доступ для взрослых, расписание, данные и бюджет.

0 прочтений

Игровому серверу для школы, клуба или молодёжной группы нужны три вещи, которые не нужны серверу для друзей: закрытая дверь (вайтлист известных аккаунтов, а не пароль, который расползается), запись того, что происходит (логи чата и действий, которые вы действительно храните), и больше одного ответственного взрослого с доступом, у каждого со своим логином. Выберите игру, чьи аккаунты и возрастные правила подходят вашим участникам, ограничьте персональные данные никами, настройте сервер так, чтобы он работал только в согласованные часы, и запишите правила и того, кто следит за их соблюдением, до первого занятия. Техника - самая простая часть; эта статья её описывает, но больше всего времени уделяет решениям, которые сохраняют групповой сервер безопасным и рабочим весь год.

Начинайте с группы, а не с игры#

Прежде чем что-либо выбирать, ответьте на четыре вопроса - в идеале письменно, вместе с тем, кто отвечает за группу:

  1. Кто участники? Возрастной диапазон важнее всего остального. Киберспортивной команде старшеклассников, студенческому клубу, кружку в начальной школе и разновозрастной молодёжной группе нужны разные настройки.
  2. Кто отвечает? Назовите хотя бы двух взрослых, у которых будет админский доступ, чтобы сервер не зависел от доступности одного человека или от суждений одного человека.
  3. Когда он работает? Только во время занятий клуба, по вечерам и выходным или всё время? Серверу, открытому круглосуточно, нужен круглосуточный присмотр или правила, которые покрывают часы, когда никто не смотрит.
  4. Что уже требует ваша организация? У школ, клубов и молодёжных организаций обычно есть правила об онлайн-активности, общении с молодыми людьми, данных и согласии. Сначала прочитайте их. Эта статья - практический совет, а не юридическая консультация, и там, где они расходятся, побеждают правила вашей организации.

Ответы делают за вас большинство технических выборов. Группе младшеклассников, которая играет на перемене под присмотром, нужна совсем другая настройка, чем студенческому клубу, проводящему открытый турнир.

Выбор подходящей игры#

Игра определяет, как игроки получают аккаунты, какие возрастные требования действуют, сколько модерации нужно чату и какое железо нужно серверу.

ИграКакие аккаунты нужны игрокамПодходит дляНа что обратить внимание
Minecraft JavaАккаунт Microsoft с купленной игройСтроительство, redstone, совместные проектыДетским аккаунтам должен быть разрешён мультиплеер
Minecraft EducationШкольная лицензия, школьные аккаунтыИспользование на урокахНе подключается к серверам Java или Bedrock
TerrariaКопия из Steam (или другого магазина)Небольшие кооперативные группыБез TShock почти нет встроенной модерации
Counter-Strike 2, TF2Аккаунт SteamКиберспортивные клубыВозрастные рейтинги, голосовой чат
FactorioАккаунт FactorioСтаршие ученики, инженерные кружкиСложность, долгие сессии
ValheimАккаунт Steam или XboxНебольшие кооперативные группыЛимит в десять игроков

Два момента из этой таблицы стоит подчеркнуть.

Minecraft Education - отдельный продукт. Он лицензируется через школы, использует школьные аккаунты Microsoft 365 и имеет собственный мультиплеер, который не подключается к обычным серверам Minecraft. Если ваша школа уже им пользуется, его встроенного хостинга может быть достаточно. Сервер Java - правильный выбор, когда у участников есть обычная игра, как правило для клуба, а не для урока.

Детские аккаунты могут блокировать мультиплеер. Аккаунту Microsoft, настроенному как детский через семейные настройки Microsoft, может быть запрещено подключаться к многопользовательским серверам, пока родитель не изменит настройки конфиденциальности и безопасности в сети Xbox. Ошибка сообщает игроку, что этому мешают настройки его аккаунта. Это решение родителей, а не то, что может исправить клуб, - предупредите семьи заранее.

Соблюдайте возрастные рейтинги и условия платформ. Игры и платформы устанавливают минимальный возраст и требуют согласия родителей для тех, кто младше; ваш клуб не должен подталкивать кого-либо их нарушать. Если рейтинг игры выше возраста ваших участников, выберите другую.

Закрываем дверь: вайтлист и аккаунты#

Клубный сервер никогда не должен быть "для всех, кто знает пароль". Пароли утекают - братьям и сёстрам, друзьям из других школ, бывшим участникам, - и, оказавшись снаружи, впускают людей, о которых вы ничего не знаете. Вместо этого используйте вайтлист известных аккаунтов.

Для Minecraft Java это три строки в server.properties:

server.properties
white-list=trueenforce-whitelist=trueonline-mode=true

и одна команда на каждого участника, выполняемая из консоли:

bash
whitelist add MemberName

online-mode=true обязателен: он заставляет сервер проверять каждый аккаунт через Microsoft. Если его выключить, любой может ввести любой ник, и вайтлист ничего не значит. Никогда не запускайте клубный сервер в offline-режиме, чтобы "пустить тех, у кого нет аккаунта".

Рядом с вайтлистом ведите простой реестр: игровой ник, участник, которому он принадлежит, когда его добавили и кто добавил. Когда участник уходит из клуба, удалите его на той же неделе. Аналогичные настройки в других играх описаны в статье вайтлист или пароль, а проверка новичков, если ваш клуб принимает их через форму, - в статье заявки на вайтлист игрового сервера.

Кроме того, не размещайте сервер в публичных списках. Не публикуйте его адрес в соцсетях и на сайтах-мониторингах серверов. Основную работу делает вайтлист, но привлекать внимание незачем.

Чат, голос и модерация#

Большинство проблем на клубном сервере социальные, а не технические: ссора, которая переходит в игру, гриферство постройки соперника, недоброе сообщение в чате. Планируйте их заранее.

Напишите короткие правила и разместите их на виду. Пять-шесть правил, достаточно конкретных, чтобы их можно было применять: не разрушать постройки других участников, не оскорблять никого в чате, не делиться адресом сервера, играть только в согласованные часы. Разместите их там, где игроки увидят их при входе, - табличка на спавне, сообщение дня на сервере, - и зачитайте на первом занятии. Более полный набор, который можно сократить, - в статье правила сервера, модерация и персонал.

Храните логи. Чат по умолчанию записывается в серверные логи большинства игр. Для Minecraft добавьте плагин логирования блоков вроде CoreProtect, который записывает, кто поставил и сломал каждый блок, и умеет откатывать гриферство. Когда случается спор, именно лог позволяет взрослому решить справедливо, а не выбирать, какому ребёнку поверить.

Подумайте о голосовом чате. Голосовой чат в игре (CS2, TF2, моды с proximity-чатом) гораздо труднее контролировать, чем текст, и он не записывается. Для младших групп подумайте о том, чтобы его не использовать, а общаться в комнате, где проходит занятие, или через голосовую платформу, которую ваша организация уже одобрила.

Фильтруйте необходимое, остальное контролируйте сами. Плагины фильтра чата есть для большинства игр и ловят очевидные слова. Недоброжелательность они не ловят - для этого нужен человек. Для младших групп назначайте игру на время, когда рядом есть взрослый.

Заведите лестницу мер. Напоминание, мьют на время, временное удаление из вайтлиста, разговор с родителями или руководителем клуба. Определите её заранее, чтобы реакция была последовательной.

Кто может управлять сервером#

Существуют два уровня доступа, и оба требуют размышлений.

Админ в игре. Возможность кикать, мьютить или телепортировать игроков. Дайте её ответственным взрослым и, если уместно, доверенным старшим участникам в роли модераторов - но через плагин прав с ограниченными правами (например, группы LuckPerms в Minecraft), а не полный статус оператора. В статье гайд по LuckPerms показано, как создать группу "модератор", которая может мьютить и кикать, но не менять мир.

Доступ к панели. Возможность остановить сервер, править файлы, читать логи и восстанавливать backup-ы. Он должен быть только у взрослых, у каждого со своим логином и двухфакторной аутентификацией, - и никогда не одного общего аккаунта с паролем, написанным на доске в классе. Если ученик ведёт техническую часть в рамках роли в клубе, дайте ему субпользователя только с нужными правами (скажем, консоль и файлы, но не удаление backup-ов и не оплату) и удалите его, когда ученик уйдёт. Как работает такое разделение, объяснено в статье субпользователи и минимальные права, а почему это важно, - в статье двухфакторная аутентификация в аккаунте панели.

Часы работы, расписание и backup-ы#

Клубному серверу редко нужно работать круглосуточно, а остановка вне согласованных часов решает несколько проблем сразу: никто не играет без присмотра в 2 часа ночи, мир нельзя загриферить, когда никто не смотрит, а правила о том, когда играть, соблюдаются сами собой.

Большинство панелей умеют это делать задачами по расписанию. Расписание - это cron-выражение плюс действия; для клуба, который собирается после уроков по будням:

code
Start:   0 15 * * 1-5   power action: startWarn:    50 17 * * 1-5  console command: say Server closes in 10 minutesBackup:  58 17 * * 1-5  backupStop:    0 18 * * 1-5   power action: stop

Это читается так: "в 15:00 с понедельника по пятницу запустить; в 17:50 предупредить; в 17:58 сделать backup; в 18:00 остановить". Синтаксис разобран в статье cron-выражения, и помните, что часы сервера могут быть не в вашем часовом поясе.

Делайте backup хотя бы раз в день в те дни, когда сервер используется, и перед любым крупным изменением - новым модом, обновлением игры, началом новой четверти. В начале года восстановите один backup на тестовую копию, чтобы знать, что процесс работает, до того, как исчезнет месячный проект кого-то из участников. Почему эта проверка важнее самих backup-ов, объяснено в статье backup-ы, которые действительно восстанавливаются.

Персональные данные: собирайте почти ничего#

Игровой сервер может хранить больше персональных данных, чем люди думают: игровые ники, ID аккаунтов, IP-адреса в логах, сообщения чата и всё, что участники пишут о себе. Для клуба с юными участниками правило простое - храните как можно меньше и как можно короче.

  • Не просите больше, чем нужно. Вайтлисту нужен игровой ник. Ему не нужны полное имя, дата рождения или домашний адрес. Соответствие игровых ников реальным участникам храните в обычных документах вашей организации, а не на сервере.
  • Чистите логи по расписанию. Храните логи чата и действий достаточно долго, чтобы разбирать споры, - обычно несколько недель, - а затем удаляйте. Не держите годами детский чат на сервере "на всякий случай".
  • Ограничьте, кто их читает. Тот же короткий список взрослых с доступом к панели.
  • Знайте, где лежат данные. Хостинговый сервер находится в дата-центре в конкретной стране. Если ваша организация обязана хранить данные в определённых юрисдикциях, проверьте это до заказа.

Если в вашей организации есть ответственный за защиту данных, покажите ему план. Обычно он с облегчением увидит, как мало вы собираете. Логи, IP-адреса и сроки хранения для любого владельца сервера разобраны в статье приватность и данные игроков на игровом сервере.

Бюджет, железо и оплата#

Клубные серверы обычно небольшие. Серверу Minecraft для двадцати участников, которые строят вместе, нужно максимум 4 ГБ памяти, серверу Terraria или Valheim на дюжину человек - 2-3 ГБ, а тренировочному серверу CS2 - ещё меньше. Цифры по каждой игре есть в статье требования игровых серверов по играм, а куда уходят деньги, показано в статье сколько стоит игровой сервер.

Практические моменты для организации, которая оплачивает счёт:

  • Счета. Казначей школы или клуба захочет счёт на каждый платёж. Проверьте, что ваш хостинг их выставляет и что способ оплаты подходит вашей организации (банковский перевод часто предпочтительнее личной карты).
  • Более длинные сроки. Оплата за четверть или год сразу обычно дешевле в пересчёте на месяц и лучше вписывается в бюджетные циклы, чем ежемесячные продления, которые зависят от того, что кто-то не забудет.
  • Хостинг в школе. Запуск сервера на школьной машине кажется бесплатным, но школьные сети блокируют входящие подключения, IT-отделы редко разрешают проброс портов, а сервер выключается вместе со зданием. Хостинговый сервер избавляет от всего этого. Компромиссы разобраны в статье хостинг дома или аренда.
  • Блокировки в школьной сети. Даже хостинговый сервер может быть недоступен изнутри школьной сети, если исходящие игровые порты заблокированы. Проверьте из самого здания, в той самой сети, до первого занятия и заранее поговорите с IT-отделом.

FAQ#

Безопасно ли держать сервер Minecraft для детей?

Может быть безопасно - с вайтлистом известных аккаунтов, включённым online-режимом, логированием блоков, короткими понятными правилами и взрослыми, которые присматривают за занятиями и держат админский доступ. Риск исходит от открытого доступа и часов без присмотра, а и то и другое под вашим контролем.

Могут ли ученики заходить со школьных компьютеров?

Только если школьная сеть разрешает исходящие подключения к порту сервера и игра установлена. Многие школьные сети блокируют и то и другое. Проверьте из здания, прежде чем на это рассчитывать.

Стоит ли доверить сервер ученику?

Способный старшеклассник может делать техническую работу и многому на ней научиться, но аккаунт, оплата и полный доступ должны быть у взрослого. Дайте ученику ограниченного субпользователя и удалите его, когда его роль закончится.

Что делать, если участника травят на сервере?

Остановите поведение (замьютьте или удалите игрока), сохраните доказательства из логов и действуйте по обычной процедуре вашей организации по защите детей или поведению. Сервер - просто ещё одно пространство, на которое распространяются ваши существующие правила.

Нужен ли отдельный сервер для каждого класса или команды?

Обычно нет. Одного сервера с отдельными зонами или мирами хватает большинству клубов. Отдельные серверы имеют смысл, когда группы играют в разные игры или им нужны разные правила и кураторы.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000