Скрипт запуска игрового сервера linux

Установка сервера CS 1.6 на Linux с помощью steamCMD

Доступы и начальные приготовления

Для начала необходимо заказать сервер с перечисленными параметрами. Рекомендуем сделать у нас: «Заказать VPS». В качестве операционной системы используем Debian (или Ubuntu). На дистрибутивах Linux игровые серверы будут работать быстрее, чем на Windows (в подавляющем большинстве случаев все серверы работают на Linux из за его стабильности и меньшем потреблении ресурсов, по сравнения с Windows).

После покупки сервера Вы получите доступы к серверу: логин (root) и пароль. Зайдите на сервер через ssh. Если работаете на windows, то используйте клиент PuTTY. Если вы работаете на дистрибутивах Linux, то откройте консоль и используйте команду «ssh root@ip_адрес_сервера«, чтобы подключиться к серверу с логином root.

После получения доступа к серверу необходимо первым делом выполнить команду для обновления уже установленного программного обеспечения от лица root пользователя и добавить стандартные пакеты: После чего можно приступить к установке 32 разрадной библиотеки, без которой steamcmd не будет работать.

Создание пользователя в Linux

Загрузка сервера CS 1.6 на Linux через steamCMD

Запуск сервера CS 1.6

Сделаем предварительную небольшую настройку, которая поможет серверу загрузить steamclient.so. Для этого выполним следующие команды: Теперь перейдём в папку с сервером: Создадим скрипт для запуска классического сервера в фоновом режиме. Назовём файл скрипта для запуска сервера «start.sh». Создать этот скрипт можно следующей командой: В этой команде вместо ip адреса «256.256.256.256» необходимо ввести внешний (белый) ip адрес вашего сервера.

После создания файла «start.sh» необходимо дать ему права для запуска, используя команду: Всё готово. Можно запускать сервер. Для этого выполним команду: В будущем можно будет использовать эту команду для запуска игрового сервера в фоновом режиме: Но не забудьте, что запускать сервер стоит из-под пользователя «steam», а не из-под «root» .

Чтобы остановить сервер, необходимо убить процесс «hlds_linux». В консоли введите команду «top», появится список запущенных на сервере процессов. В первой колонке, под название «PID» будет стоят уникальный номер процесса. Необходимо найти процесс с значением в последнем столбце «COMMAND» равным «hlds_linux» и убить процесс, используя команду: Где вместо 1234 подставьте PID процесса.

Конфигурация сервера CS 1.6 через файл server.cfg

Создадим файл конфигурации сервер с названием «server.cfg» в папке «/home/steam/steamcmd/csgo/csgo/cfg/». Теперь откроем файл в текстовом редакторе Nano и вставим в него следующее содержание. Для этого выполним команду: Добавим в содержание файла строку «rcon_password» и изменим название сервера в «hostname»: Зная пароль, указанный в rcon_password, вы сможете отправлять любую команду на сервер, чтобы управлять процессом игры. К примеру, изменять карту или банить пользователей.

Осталось только добавить пару файлов, чтобы при запуске сервера не возникало ошибок. Их можно создать следущими командами: Можно запускать сервер и пытаться подключиться к нему из клиента игры по ip адресу, используя команду в консоли клиент «connect 256.256.256.256» (вместо 256.256.256.256 вставьте ip адрес своего сервера).

Читайте также:  Найти все файлы с датой изменения linux

Источник

Скрипт запуска серверов hlds и srcds в Linux

Участник

Скрипт запуска серверов hlds и srcds в Linux

Автор LeXiKoN
Версия 0.98 от 02.05.2011

Цветовая индикация, что позволит вам легко понять информацию
Распределения серверов по ядрам ( подробнее ниже )
Подключение по команде к консоли сервера
Определение статуса работы сервера
Возможность компиляции плагинов в каталоге scripting AmxModX
Проверка версии скрипта
Предстартовая проверка на запущенный процесс hlds
Проверка работоспособности сервера ( необходимо добавить фунцию в crontab — читаем раздел «Установка» )
Ведение лога консоли сервера в файл cstrike/qconsole.log
Ведение лога проверки работоспособности сервера в файл checker.log
Очистка логов checker.log и qconsole.log при превышении размера в 10Мб. ( необходимо добавить фунцию в crontab — читаем раздел «Установка» )

Конфигурация происходит напрямую в самом файле с помощью блокнота

SERVER_NAME=»My Server» #Название сервера
screen_name=server #Название screen-сессии
path=»/home/hlds/server/» #Путь до ROOT-директории сервера
hlds_ip=0.0.0.0 #IP сервера
hlds_port=27015 #Порт сервера
hlds_gametype=cstrike #Тип игры
hlds_players=20 #Максимальное количество игроков на сервере
hlds_map=de_inferno #Имя первоначальной карты при запуске
hlds_pid=server.pid
screen_pid=$screen_name-screen.pid
hlds_options=»-pingboost 3 +exec server.cfg +log on» #Дополнительные параметры запуска
use_user=hlds #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command=»quakestat» #Команда пакета qStat отвечающего за проверку сервера
restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )

#—————————————————-
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 — первое ядро, 1 — второе ядро
# 4x-ядерные: 0 — первое ядро . 3 — четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0
#—————————————————-

Установленные пакеты: qstat, tail, screen, wget, crontab

Скачиваем txt файл для нужной системы
server_deb.txt — Для систем на дистрибутиве Debian
server_rh.txt — Для систем на дистрибутиве RedHat

Переименовываем в нужное вам имя без расширения
Копируем в /etc/init.d/

Устанавливаем пакет qstat, а также другие необходимые для работы пакеты, описанные в разделе «Требования»

Debian подобные дистрибы:
aptitude install qstat

Fedora/Mandriva/CentOS подобные дистрибы:
yum install qstat

Если данный пакет отсутствует в ваших дистрибутивах то скачиваем исходники и собираем!

Устанавливаем права
chmod +x /etc/init.d/hlds_runscript

Добавляем в автозагрузку:

Системы RedHat:
chkconfig —add [имя скрипта]

Системы Debian:
update-rc.d [имя скрипта] defaults

Добавляем проверку работы сервера по расписанию в Crontab (. Проверка будет
происходить каждые 30 минут . )

и вносим туда строку
0,30 * * * * /etc/init.d/[имя скрипта] checker

Добавляем проверку размеров логов по расписанию в Crontab (. Проверка будет происходить каждую неделю . )

и вносим туда строку
0 0 * * 0 /etc/init.d/[имя скрипта] logsize

Не забудьте
checker_command=»quakestat» #Команда пакета qStat отвечающего за проверку сервера

В Вашем дистрибутиве она может быть иной! Иначе не будет работать проверка сервера по расписанию

Для Debian Squeeze ВАЖНО! Если вы используете несколько скриптов для каждого сервера в отдельности то НЕОБХОДИМО поменять в заголовке файла параметр
# Provides:

для каждого сервера он должен быть разный, к примеру:
# Provides: server1

Debian/Ubuntu и прочие

RedHat/Fedora и прочие

Файлы во вложении от 27-11-11, более свежие версии смотрите на сайте автора

Источник

Разворачивание Minecraft сервера под linux

В моей прошлой статье я рассказывал, как быстро развернуть свой Minecraft сервер из образа под Windows. И очень многие справедливо заметили, что Windows не очень годится для разворачивания такого типа сервера. А PowerShell через RDP — это какое-то ненормальное извращение.

Поэтому мы сделали новый образ, под Centos с преферансом и поэтессами, учтя все ваши замечания. Плюс, прямо из коробки для вас наша карта с секретом, выполнив небольшой квест, вы можете получить приз! Подробности далее!

Читайте также:  Race driver grid windows 10 не запускается

Разворачиваем сервер

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

Значительно лучше, и удачнее для этого годится linux. Поэтому мы сделали новый образ в нашем Маркетплейс.

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

Но всё же пробежимся по основным моментам. Создаём сервер из Маркетплейса, с рекомендованными параметрами. Если у вас бюджет позволяет, то я рекомендую из личного опыта оперативной памяти ставить не менее 4-6 ГБ. Но, даже в базовом варианте всё будет работать как часы (могут быть тормоза при путешествиях).

После успешного создания, нам необходимо будет подключиться по ssh, чтобы согласиться с лицензией EULA и стартануть сервер. Это не сложно, даже если вы ничего об этом не знаете. В операционной системе Windows можно подключиться к серверу, используя утилиту Putty, согласно нашему мануалу. В linux просто, открываем консоль и пишем:

Запрещение логина root

После подключения, очень рекомендую отключить возможность логина по ssh пользователя root и завести нового пользователя, и далее уже подключаться через него. Это необязательная процедура, но я настоятельно рекомендую её сделать, если не хотите, чтобы ваш сервер быстро взломали.

Создаём нового пользователя:

Не забываем задать корректный, длинный пароль:

Теперь необходимо этой учётной записи добавить возможность прав администратора.

Теперь, после логина, вы можете вводить sudo перед командами, для выполнения их с правами superuser.

После того, как мы создали своего пользователя, можем подключаться и выполнять операции уже от его имени (не забываем про права администратора). Теперь задача отключить возможность логина root по ssh. Для этого отредактируем файл sshd_config .

Находим строчку содержащую PermitRootLogin и меняем её на состояние no.

Есть ещё и другие возможности, например, отключение логина по паролю, но описывать в данной статье смысла не вижу. Всё, сохраняем и перезапускаем демон ssh для применения изменений.

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

Непосредственный запуск сервера

После того, как мы всё настроили, можем стартануть сервер. Для начала принимаем лицензию Майнкрафта (это делается один раз, только при создании сервера).

И после этого, можно уже запустить сервер.

Всё, сразу после этого запустится сервер, с нашей предустановленной картой. И можно начать играть.

Сервер готов принимать людей.

Обратите внимание, что старт сервера идёт буквально двумя командами. Или «одной», как меня пытались убедить:

Если вы не хотите использовать предустановленную карту, то можно перед запуском сервера сразу удалить мир следующей командой:

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

Наша Minecraft карта

Многие из нас, кто заходил в наш блог на хабре, видели в шапке эту карту.

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

Читайте также:  Кто создал команду linux

Эта же карта в мире Майнкрафт.

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

Торопитесь, количество призов ограничено.

Пару слов, о том как создавалась эта карта

Карта создавалась вручную, в творческом режиме, на майнкрафте 1.16.3. Оказалось достаточно сложно перенести дизайнерскую задумку в мир Майнкрафта. Тем более, что если вы посмотрите, то рисованная карта имеет углы не строго 90 градусов, от этого были все сложности.

Первый построенный объект на карте — бутер.

Для замеров расстояния был выбран самый маленький объект на карте, и просто в графическом редакторе gimp осуществлялись замеры, а по ним уже рисовались остальные объекты.

Пример измерения расстояний.

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

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

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

Прикидки размеров (ошибочные).

Но в конце-концов, методом проб и ошибок установили размеры шара спроецированного на плоскость.

Дальше, было относительно просто. Вспоминаем институтские знания черчения и переводим сечения шара снизу в верх, с помощью циркуля.

И так, на бумажке отрисовав все сечения, мы начали строить сам шарик.

Прикидка формы шара.

Ну, а дальше, дело техники — «обмазать» его.

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

Что делать, если хочется играть на других картах или даже с модами?

Пара слов, как сменить версию майнкрафта и установить другую карту.
Весь майнкрафт у нас обитает в папке:

Если мы говорим о ваниле, то для начала нужно остановить сервер, затем удалить старый мир.

Посмотреть список доступных версий майнкрафта можно командой.

После чего делаем обнуление мира (просто удаляет текущий мир).

И ставим последнюю версию ванильного майнкрафта.

После чего стартуем сервер командой.

Всё, так будет последняя версия майнкрафта.

Если требуется установить моды, то можно установить Forge (он уже предустановлен на сервер, и требуется только скопировать на него моды).

Остановите сервер, удалите мир, укажите нужную версию, при необходимости скопируйте нужные моды на сервер в папку mods и запустите сервер, например для версии forge-1.12.2:

Для удобства конфигурирования, мы даже сняли видео первичной настройки майнкрафт-сервера. Чтобы было удобнее.

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

Источник

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