Установка сервера TeeWorlds
1. Идем на официальный сайт TeeWorlds - http://abcvg.com/11683-teeworlds.html и качаем последнюю версию игры (сервер и клиент находятся в одном дистрибутиве)
#wget http://static.abcvg.com/uploads/files/2015-06/1435181763_teeworlds-0.6.3-linux_x86_64.tar.gz
(Если не установлен wget можете воспользоваться любым другим менеджером закачки или установить wget)
2. Распаковываем скачанный архив в директорию, где мы будут находиться все файлы игры, в том числе и конфигурационные файлы сервера (о них чуть ниже) для запуска нескольких различных типов карт на одном сервере.
#tar zxvf teeworlds-0.6.3-linux_x86_64.tar.gz -C /usr/games/
3. Для того что бы продолжить запустить сервер TeeWorlds нам потребуется установленный screen на сервере. Он позволит нам после завершения сеанса консоли, оставить рабочим сервер TeeWorlds.
Установка на Ubuntu (Debian):
#apt-get install screen
Установка на FreeBSD:
#cd /usr/ports/sysutils/screen && make install clean
4. Теперь можем запускать сервер TeeWorlds командой:
#screen /usr/games/teeworlds/teeworlds_srv -f config-file.cfg #где config-file.cfg – это конфиг сервера с настройками.
5. Вот несколько примеров конфигурационных файлов для различных типов карт:
Death match (free for all):
sv_name Teeworlds sample dm sv_map dm1 sv_scorelimit 20 sv_timelimit 10 sv_gametype dm sv_rcon_password remember sv_motd Teeworlds Greetings on DM-server sv_max_clients 12 sv_spectator_slots 10
Team death match:
sv_name Teeworlds sample tdm sv_map dm6 sv_scorelimit 50 sv_gametype tdm sv_rcon_password remember sv_motd Teeworlds Greetings on TDM-server
Capture the flag:
sv_name Teeworlds sample ctf sv_map ctf2 sv_scorelimit 400 sv_gametype ctf sv_rcon_password remember sv_motd Teeworlds Greetings on CTF-server
6. Теперь рассмотрим директивы конфигурационного файла:
А) Настройки движка (Жирным помечены директивы, которые можно изменить только в конфиге, через консоль не удастся изменить):
sv_name – Имя вашего игрового сервера (по умолчанию - unnamed server) sv_bindaddr - Адресс на котором будут сушаться подключения sv_port – Порт на котором будут слушаться подключения (по умолчанию 8303) sv_external_port - Порт который будет отправляться мастер серверу sv_max_clients – Максимальное количество клиентов, которые могут подключится к серверу (по умолчанию 12) sv_max_clients_per_ip - Максимальное количество клиентов, которые могут подключится к серверу с одного IP (по умолчанию 12) sv_high_bandwidth - Использование режима «Широкого» канала, используется только для LAN серверов (по умолчанию 0) sv_register – Регестрация вашего сервера на мастер-сервере (по умолчанию 1) sv_map - Какая карта будет запущена на сервере (по умолчанию dm1) sv_rcon_password – Пароль для доступа в косноль управления (если не установлен, консоль работать не будет) password – Пароль для подключения к серверу, для создания закрытого сервера logfile – Путь до файла логов console_output_level – количество строк отображаемых в консоли sv_rcon_max_tries – Количество возможных неудачных авторизаций в консоли (по умолчанию 3) sv_rcon_ban_time – устанавливает время на которое будет забананен человек неправильно введший пароль к консоли (если значение 0, то просто выкинет с сервера игрока, по умолчанию 5)
В) Игровые настройки:
sv_warmup - Время между раундами (по умолчанию 0) sv_scorelimit – Лимит очков для победы (0 – без ограничения, по умолчанию 20) sv_timelimit – Ограничение по времени на игру (если количество очков по окончании времени будет равным то будет sudden death, по умолчанию 0) sv_gametype – Тип игры (dm – по умолчанию/ctf/tdm) sv_maprotation – Ротация карт на сервере sv_rounds_per_map – количество раундов до смены карты в ротации (по умолчанию 1) sv_motd – Сообщение, которое будет показано при подключение к серверу sv_spectator_slots – Количество зрителей (по умолчанию 0) sv_teambalance_time – Время до автобаланса команд (по умолчанию 1) sv_spamprotection – Включение спам фильтра (по умолчанию включен - 1) sv_tournament_mode – Игроки присоединяются как зрители (по умолчанию 0) sv_respawn_delay_tdm – Время в секундах до респауна в TDM картах (по умолчанию 3) sv_teamdamage – Включение огня по своим friendly fire (по умолчанию 0) sv_powerups – Включает бонусы (katana) (по умолчанию 1) sv_vote_kick – Включает возможность голосовать за кикание игроков (по умолчанию 1) sv_vote_kick_bantime – Время на которое банится игрок если его выкинули по голосованию (0 просто выкидывает, по умолчанию 5) sv_vote_kick_min – Минимум игроков для исключения игрока по голосованию (по умолчанию 5) sv_inactivekick_time – Выставление статуса АФК игроку (по умолчанию кикает через 3 минуты) sv_inactivekick – Что делать с игроками в АФК (0 – кинуть в зрители, 1 – кинуть в зрители, если зрителей максимально возможное число то кикать (по умолчанию стоит данное значение), 2 - кикать)
7. Для запуска сразу нескольких серверов можно создать скрипт, например start.sh:
Создадим и отредактируем файл start.sh:
vim ./start.sh
#!/bin/sh GAME_PATH="/usr/games/teeworlds-0.6.3-linux_x86_64" cd #{GAME_PATH} screen -d -m #{GAME_PATH}/teeworlds_srv -f /usr/games/teeworlds-0.6.3-linux_x86_64/ctf.cfg screen -d -m #{GAME_PATH}/teeworlds_srv -f /usr/games/teeworlds-0.6.3-linux_x86_64/dm.cfg
После этого запуск осуществляйте командой:
#sh start.sh
Обращаю ваше внимание, что сервера должны использовать разные порты, иначе будет запускаться только первый сервер из скрипта.