Создание своего сервера
Лирический рассказ о создании своего сервера с заметками для тех, кто впервые хочет попробовать себя в деле администратора. Надеюсь, кому-то статья сможет помочь.
Hardware и OS
Что такое сервера вообще? В общем виде это те же самые компьютеры, но зачастую с несколько другими набором "железа" и формфактором.
Это сервер. Он хранит и обрабатывает.
Когда дело касается серверов игр, то это снова те же самые железки, что и сверху. За исключением Майнкрафт. Дело в том, что когда писали ядро Майнкрафта, никто не задумывался о серверах с большим количеством игроков, а также о распараллеливании различных процессов по обработке внутриигровых событий, которые ложатся на плечи сервера. В итоге сервер Майнкрафта очень требователен к однопоточной производительности процессора, что накладывает определенные ограничения на выбор железа для игрового сервера.
Потому часто можно увидеть в объявлениях об аренде серверов наименования вроде "Core i7" или высокочастотные "Ryzen 5". Они зачастую в разы дешевле, чем Xeon и Epyc. "Но у меня есть Core i9-9900k!" — скажете вы. А я отвечу: это очень крутой вариант для сервера. И вот тут нам надо сделать выбор: использовать свое железо или арендовать у кого-то.
При использовании своего железа существует много нюансов, к которым надо подготовиться: это и аренда "белого" IP у провайдера, и вопрос о работе такой машины 24/7, и обслуживание с администрированием, оплата электричества (мой сервер "съедает" около 500 рублей в месяц точно, может быть и больше), и т.д. и т.п. При аренде сервера обо всем будет заботится хостер, у которого вы будете арендовать машину или часть машины. Я поставил сервер дома. Не то, чтобы я мог прям позволить, тем более в отсутствии донатов, но… Арендовать точно не хочется. Да и помимо игрового сервера есть еще пара вещей, которые хостятся периодически на этой машине. У нас сейчас конфиг такой: i5-3470, 16Gb RAM, 120Gb SSD + 250Gb HDD. В будущем разбогатею и обязательно приобрету для сервера i7-11700 и 128Гб RAM c 3Tb SSD.
Про хостинги рассказывать не буду, потому что я так ими и не пользовался. А вот история нашего сервера, Flamegarth, началась с настольного процессора Core2Quad Q6600. В один прекрасный день для друзей на операционной системе Windows 7 был поднят сервер, чтобы можно было поиграть вместе. Один из самых важных моментов, который тогда был не учтен: удаленный доступ. Сервер часто крашился, а перезапускать можно было только вручную. И еще: не забудьте, что если у вас есть роутер, то вам надо будет заняться «пробросом» портов.
Про проброс на сайте распространенных роутеров D-Link: клик.
Настроить удаленный доступ к серверу на Windows можно несколькими способами. Один из самых популярных: программы вроде TeamViewer или "RMS удаленный доступ".
Позже пришло осознание, что сервер на Windows — не самое удобное решение, и я установил Ubuntu. Тоже вариант так себе, насколько я заметил, чаще используют CentOS, она меньше и "шустрее", но громкое имя меня приманило, и так я на Убунту и остался. Для доступа к линуксам нужно побольше манипуляций: знание работы в консоли и с протоколом ssh. В целом не очень трудно, но придется много документации читать и запоминать команды в первое время.
Ядро и плагины/моды
После того, как железо собрано, а операционные системы настроены, пора выбрать "ядро" вашего сервера.
Выбор на сегодняшний день велик. Хотите ванильный сервер для себя и нескольких друзей? Берите официальное "ядро". Нужно защитить сервер от гриферов и использовать плагины — Bukkit/Spigot или их многочисленные форки. Нужны моды? Ваш выбор — Forge.
Скачать все это великолепие вы можете с их официальных сайтов. Гуглятся по названию, нужно будет помочь со скачиванием — пишите. Также можно попробовать использовать готовые сборки, однако, стоит помнить, что недоброжелатели могли подсунуть туда backdoor или какую другую заразу.
