Игровой сервер для линукс

Все, что нужно для сборки игрового сервера на Linux

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

В современных играх можно не только подключаться к серверам, но даже запускать их. Будь то сервер Minecraft, игра Counter-Strike или любое из множества игр, обычно есть способ запустить игровой сервер. Хотя игры в Linux могут показаться противоположными, в Linux доступно множество разнообразных игр.

Узнайте обо всем, что вам нужно для создания игрового сервера в Linux.

Требования к построению игрового сервера

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

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

Сборка игрового сервера на Linux

Создание сервера Minecraft

Настройка сервера Minecraft требует серверного программного обеспечения от Mojang. К счастью, это бесплатно скачать. Сервер Minecraft под Linux должен нормально функционировать как в 32-, так и в 64-битных версиях Linux. Тем не менее, Minecraft Gamepedia действительно предполагает, что 64-битные итерации могут повысить производительность.

Нам понадобится Java для запуска сервера Minecraft. Linux более совместим

с установленной Java. Чтобы проверить версию Java, введите команду

Если выполнение этой команды возвращает сообщение, похожее на «Java not found», вам необходимо установить его. Вы можете установить Java на Linux несколькими способами. Самым простым в Ubuntu является использование apt-get.

Перед установкой Java обновите индекс пакета:

Затем установите Java с помощью следующей команды. Он устанавливает Java Development Kit по умолчанию (JDK):

Вы можете попробовать OpenJDK, но пользователи сообщают о большем успехе при официальной установке Oracle Java.

Ubuntu

Если вы используете Ubuntu, вам может потребоваться запустить следующие установщики пакетов, чтобы вы могли использовать

Затем добавьте обновление списка источников, добавьте PPA и, наконец, установите Java:

После добавления PPA выполните обновление:

После завершения обновления установите Java через командную строку:

Теперь у вас должна быть установлена ​​Java.

Debian

В дистрибутивах на основе Debian установка Java немного отличается. Вам нужно сканировать несвободные репозитории. Для этого добавьте non-free в файл /ect/apt/sources.list.

Фактический URL, к которому вы добавите это, будет отличаться. Например, он может читать

Поэтому новый URL будет:

Как только вы добавите несвободные, обновите список источников:

Чтобы установить Java, запустите:

Arch Linux

Arch Linux ARMv7

На Arch Linux ARMv7 лучшим способом является установка Java из Oracle, скачайте здесь. Извлеките этот файл в / usr / lib / jvm и переключите Java по умолчанию на:

Gentoo

Если вы используете Gentoo, просто запустите:

Другие дистрибутивы

Всегда есть метод загрузки. Oracle предоставляет пакеты загрузки для Java, которые совместимы с большинством дистрибутивов. Доступны как 32-, так и 64-битные пакеты.

Читайте также:  Windows mass storage controllers

Загрузите программное обеспечение сервера Minecraft

Создайте каталог для вашего сервера Minecraft и измените каталог на него. Дайте ему имя («майнкрафт» — хороший выбор), затем перейдите в этот каталог.

Затем загрузите последнюю версию программного обеспечения сервера Minecraft:

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

Наконец, запустите следующее:

Однако установить не удастся. Мы должны сначала согласиться с лицензией Eula. Войти:

Откроется файл eula.txt. Просто измените:

Введите команду еще раз:

Подключение к серверу Minecraft

Теперь вы можете подключиться к только что установленному серверу Minecraft, запустив Minecraft. Выбрать Мультиплеер. Затем дайте имя вашему серверу. Наконец, добавьте адрес машины или вашего локального ПК. Это будет IP и порт. По умолчанию порт Minecraft использует 25565. Таким образом, адрес сервера будет [IP-адрес]: 25565. После этого просто нажмите Готово.

Теперь, когда вы установили свой сервер Minecraft, узнайте, как оптимизировать Minecraft для Linux.

Создание игрового сервера Steam

Для Counter-Strike и других игр Steam вам понадобится игровой сервер Steam. Тем не менее, создание игрового сервера Steam немного отличается. Я использовал машину с Ubuntu 16.04 LTS. Хотя в сообщении сообщества Steam предлагается создать другую учетную запись пользователя для использования в качестве сервера Steam, я просто использовал свою учетную запись пользователя Ubuntu по умолчанию.

SteamCMD

Утилита SteamCMD позволяет запускать сервер Steam. Этот инструмент загружает и устанавливает выделенные серверы для игр Steam. Чтобы загрузить установщик SteamCMD, вставьте его в командную строку:

Убедитесь, что вы находитесь в вашем каталоге steamcmd. Как только вы перешли в этот каталог, запустите:

Установочный скрипт и обновление выполнятся. После этого попробуйте войти в систему. Вы можете просто ввести:

Вы должны увидеть сообщение о том, что вы вошли в Steam Public анонимно.

Подключение к серверам

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

Например, Team Fortress 2 можно играть таким образом. Не играл в Team Fortress или давно? Ну, может быть, вам нужно вернуться к TF2. Тем не менее, если Steam предлагает выделенный сервер и это не бесплатная услуга, вы должны войти в систему с учетной записью Steam. Это как если бы вы использовали клиент Steam. Серверы Counter-Strike должны быть настроены таким образом.

Steam назначает идентификаторы приложений для клиентов и серверов.

  • Клиентский AppID: 240
  • AppID сервера: 232330

Team Fortress 2

  • Клиентский AppID: 440
  • AppID сервера: 232250

Но что мы на самом деле делаем с этой информацией? Нужно зайти в выделенные папки. Поэтому для сервера Team Fortress 2 путь по умолчанию будет

Чтобы создать папку установки, запустите:

Есть два способа установки игры. Если вы используете анонимный вход, просто введите:

Однако, если вам необходимо использовать идентификатор Steam, вместо этого используйте:

Поэтому, чтобы установить сервер Team Fortress 2, введите его в командной строке:

Некоторые конфигурации могут потребоваться в зависимости от вашей настройки. Вы можете прочитать больше об этом здесь. Чтобы запустить игровой сервер, перейдите в соответствующую папку и запустите ее. Мы рассмотрим пример Team Fortress 2:

Другие Методы

Хотя предыдущие примеры охватывают игры Steam и Minecraft, это не единственные игры, для которых вы можете использовать сервер. И это не единственные методы создания игрового сервера в Linux. GameServers.com предлагает солидное решение. Есть платные версии, но я попробовал бесплатный Counter-Strike: Source сервер. Проверьте бесплатные серверы, доступные здесь.

Читайте также:  Экран блокировки windows 10 что это такое

Как только вы запросите сервер, вы получите электронное письмо с информацией на вашем сервере. Нажмите на ссылку и следуйте инструкциям (см. Ниже). Это аккуратный сервис. Примечательно, что это особенно полезно, если у вас устаревшее оборудование или вы просто хотите отдельный сервер.

Наконец, Linux Game Server Managers предлагает отличное решение. Это фантастический инструмент, который совместим с множеством дистрибутивов. LGSM может похвастаться более чем 50 выделенными серверами. Кроме того, это с открытым исходным кодом. Инструмент командной строки позволяет быстро развертывать выделенные игровые серверы в Linux. Проверьте демо ниже:

Хотя это отличный выбор, существует множество вариантов настройки игрового сервера Linux. Что вы используете? Дайте нам знать в комментариях ниже!

Источник

Превращение Synology NAS в игровой сервер

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

Как уже ясно из названия этой статьи, речь пойдет о настройке Synology NAS в роли игрового сервера.

Achtung — в статье много скриншотов (скриншоты кликабельны)!

Перед тем как приступить, вот список инструментов которые нам понадобятся:

Synology NAS — тут ограничений я не вижу, думаю подойдёт любой, если нет планов держать сервер на 10к игроков.

Docker — особых навыков не требуется, достаточно образно понимать принцип работы.

На данный момент (апрель 2020) на LinuxGSM доступно 105 игровых серверов.
Весь список можно посмотреть тут https://linuxgsm.com/servers.

Steam — маркет с играми.

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

Установка Docker на Synology NAS

На этом этапе все просто, переходим в админ панель Synology, дальше в «Package centre», находим и устанавливаем Docker.

Запускаем и видим примерно такую картину (у меня уже установлен этот контейнер)

Далее переходим в вкладку «Registry», вбиваем в поиск «gameservermanagers», выбираем образ «gameservermanagers/linuxgsm-docker» и жмём на кнопку «Download».

После переходим в вкладку «Image», ждём окончание загрузки образа и жмём на кнопку «Launch».

В открывшемся окне нужно перейти в «Advanced Settings», дальше в вкладку «Network» и отметить галочку «Use the same network as Docker Host».

Остальные настройки, например, такие как «Container Name», меняем на свое усмотрение.
Container Name — как не трудно догадаться, это имя контейнера, оно дальше пригодится. Рекомендую назвать как-то лаконично, для примера пусть будет «test».

Далее жмём кнопку «Apply» или «Next» несколько раз до завершения настройки.

Переходим в вкладку «Container» и видим новый запущенный (если нет, запускаем) контейнер.
Тут его можно останавливать, запускать, удалять и проводить другие действия.

Настройка Docker контейнера LinuxGSM

Перед тем как подключиться к Synology NAS через SSH, надо активировать сам SSH доступ в админ панели.

Дальше необходимо использовать внутренней IP адрес Synology NAS сервера для подключения через SSH.

Переходим в терминал (или другой любой аналог, например под Windows это PuTTY) и используем следующую команду:

В моём случае это выглядит так

После авторизации надо выполнить команду для перехода в сам контейнер «test» (поле «Container Name» в настройках Docker) под пользователем «root»

Перед самой установкой «LinuxGSM» нужно провести некоторые действия.

Установим пароль для пользователя «root»

Далее обновим все пакеты

Ожидаем окончание процесса…

Читайте также:  Top c ide linux

Далее установим нужные утилиты

Поскольку, под «root» выполнять разные действия не самая лучшая идея, добавим нового пользователя «test».

И разрешим новому пользователю использовать «sudo»

Переключаемся на нового пользователя «test»

Установка и настройка LinuxGSM

Рассмотрим пример настройки LinuxGSM на примере «Counter-Strike» он же «CS 1.6» https://linuxgsm.com/lgsm/csserver

Переходим на страницу инструкцией «Counter-Strike» linuxgsm.com/lgsm/csserver.

Во вкладке «Dependencies» копируем код под «Ubuntu 64-bit».

На момент написания статьи этот код выглядит так:

В процессе установки нужно согласится с «Steam License»:

Переходим в вкладку «Install» копируем код c 2-го шага (1-й шаг пропускаем, пользователь «test» уже есть):

И запускаем установку:

Если все прошло в штатном режиме, увидим заветное «Install Complete!»

Запускаем… и видим ошибку «Multiple IP addresses found.»

Дальше надо явно указать серверу какой IP ему использовать.

В моём случае это:

Переходим в папку, путь к которой был в сообщении как «location»:

И смотри какие фалы есть в этой папке:

Копируем содержимое файла «_default.cfg» в файл «csserver.cfg»:

И переходим в режим редактирования файла «csserver.cfg»:

И заменяем IP адрес, который был предложен, в моём случае это «192.168.0.166».

Получится как-то так:

Зажимаем сочетание клавиш:

И после предложения сохранить жмём:

Возвращаемся в папку пользователя «test»:

И снова пробуем запустить сервер. Теперь сервер должен запуститься без проблем:

Для просмотра более детальной информации воспользуемся командой:

Из важных параметров стоит отметить:

  • Server IP: 192.168.0.166:27015
  • Internet IP: xxx.xx.xxx.xx:27015
  • Config file: /home/test/serverfiles/cstrike/csserver.cfg

На этом этапе игровой сервер уже доступен в локальной сети.

Настройка переадресации IP адреса

Играть по локальной сети хорошо, но играть с друзьями через интернет — лучше!

Для переадресации IP адреса, который получил роутер от провайдера, используем механизм NAT .

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

Для удобства и стабильности работы желательно заполучить статический IP адрес.

Поскольку у меня роутер «TP-Link Archer C60», то я привожу пример настройки переадресации, так как это реализовано в моём роутере.

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

Тут всё просто — необходимо указать переадресацию с внешнего IP адреса на внутренний IP адрес сервера для двух портов:

В админ панели моего роутера это выглядит так

Вот и всё, после сохранения настроек роутера, игровой сервер будет доступен в сети по внешнему IP адресу для указаных портов!

Дополнительные настройки на примере CS 1.6

На примере CS 1.6 хотел бы дать несколько полезных советов.

Есть два файла для конфигурации сервера

Первый находится тут:

Второй находится тут:

Первый файл содержит общие настройки, такие как IP адрес, карта для первой загрузки сервера и т.д.

Второй файл содержит настройки команд который можно выполнять через консоль «Counter-Strike», например «rcon_password» или «sv_password».

Во втором файле я рекомендую установить пароль на подключение к серверу через CVar «sv_password» и установить пароль для управления с консоли самого сервера через CVar «rcon_password».

Список всех CVar переменных можно посмотреть тут http://txdv.github.io/cstrike-cvarlist

Так же скорее всего будет необходимость установить дополнительные карты, например «fy_pool_day».

Все карты для CS 1.6 находятся тут:

Находим нужную карту, загружаем прямо на сервер (если в архиве, разархивируем), перемещаем файл с расширением «.bsp» в папку с файлами «

/serverfiles/cstrike/maps» и перегружаем сервер.

Кстати, все доступные команды сервера можно посмотреть так

Я доволен результатом. Все работает быстро и не лагает.

LinuxGSM имеет много дополнительных настроек, например, интеграцию c Telegram и Slack для оповещений, но некоторый функционал ещё требует доработок.

Источник

Оцените статью