Natural Selection 2 Guide

NS2 server на Linux for Natural Selection 2

NS2 server на Linux

Overview

Поднимаем игровой сервер Natural Selection 2 на Linux

Преамбула

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

и так к делу

Расматривать установку игрового сервера NS2 будем на примере Debian/Ubuntu.
Установку, настройку, патчи ядра и прочие вкусности работы с операционой системой мы в этой статье рассматривать не будем. На эту тему написано 100500 достойных мануалов.
И, ах, да, вы знаете, что такое ssh, консоль & etc.

1. Рекомендовал бы создать пользователя от его имени и будет работать наш сервер. Так секьюрней =)

sudo useradd имя_пользователя

Опция -d используется для указания домашней папки пользователя, опция -m укажет на то что папку нужно создать немедленно:

sudo useradd -d /home/имя_пользователя -m /home/имя_пользователя имя_пользователя

Можно использовать опцию -p для указания пароля, но безопаснее будет воспользоваться командой passwd:

sudo passwd имя_пользователя

Теперь у нас есть пользователь и далее будем работать от его имени.

2. Теперь скачиваем SteamCMD и распаковываем

wget [link] && tar -xvzf steamcmd_linux.tar.gz

Для файла steamcmd.sh нужно установить права на выпонение и запустить.

chmod +x steamcmd.sh
./steamcmd.sh

После чего нужно зарегестрироваться в стим ( ввести логин и пароль).
Указать папку в которой будет жить наш сервер

force_install_dir ns2server

И выкачать сам сервер, займет какое то время.

app_update 4940 validate

3. Пока скачивается сервер игры, делаем простенький скрипт запуска сервера:

#!/bin/bash echo -n “Killing any previous servers: ” killall server_linux32 sleep 2 echo -n “Starting NS2 Server: ” cd /home/наш-юзер/ns2server screen -A -m -d -S ns2 ./server_linux32 -name “имя-сервера” -webadmin -webdomain 0.0.0.0 -webuser admin -webpassword 12345 -webport 8888 -map ns2_biodome -ip 0.0.0.0 -port 27015 -limit 16 -logdir /home/наш-юзер/ns2server/logs -config_path /home/наш-юзер/ns2server/config cd /home/наш-юзер/ns2server echo “Attaching to server console… ” screen -x ns2

Что делает скрипт ?! Убивает процесс server_linux32 (это наш сервер) если он был запущен до этого, ждет и после чего стартует наш игровой сервер с заданными параметрами.
Кладем наш скриптик в папку с сервером, в нашем случае это ns2server и разрешаем его выполнять.

4. Наслаждаемся новым сервером =)
Вот вобщем то и всё, один из самых простых способов.
Конечно же, скрипт можно усложнить и избавить себя от лишних манипуляций.
Так же стоит обратить внимание на папку с логами сервера, их будет пладиться много, логично организовать ротацию логов… Что то типо раз в три дня архиввируем, кидаем куда ни буть в хранилище и через месяц удаляем. А ще бы неплохо бы что бы сервер скидывал нам критичную инфу в jabber =)
Но об этом в другой раз =))

и так к делу часть 2

Вариант второй.
На Github`e есть скриптик установки, обновления и управления сервером NS2.
[link]

Ход действий как обычно:

  • Создать пользователя
  • Разрешить выполнение скрипта

Несколько замечаний по настройке скрипта, его нужно немного отредактировать:
Меняем логин и пароль для стима.

# Steam login steamuser=”username” steampass=”password”

Настройка ирового сервера:

# Start vars servername=”NS2 Server” defaultmap=”ns2_summit” port=”27015″ webdomain=”127.0.0.1″ webadminuser=”admin” webadminpass=”password” webadminport=”8080″ maxplayers=”18″ password=””

После чего устанавливаем сервер игры NS2

./ns2server install

Как пользоваться скриптом:

Старт сервера ./ns2server start Стоп сервера ./ns2server stop Рестарт сервера ./ns2server restart Обновление сервера ./ns2server update

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

(su) sudo apt-get install tmux

Скрипт прост и понятен ответив на пару вопросов вы получите готовый игровой сервер.
Более подробно можно прочитать на сайте автора: [link]

SteamSolo.com