Главная › Форумы › JUST FOR FUN › Create gaming servers › Создаем сервер Unreal Tournament 99 (UT99) на Debain
- В этой теме 3 ответа, 1 участник, последнее обновление 1 год, 5 месяцев назад сделано E-tec.
-
АвторСообщения
-
04.11.2018 в 14:42 #398
В этом мануале разберем шаг за шагом, как развернуть UT99 сервер на linux. Собирать будем на Debian linux, на момент написания статьи актуальная версия 9, но инструкция подойдет для любого более свежего билда ОС. UT сервер будем собирать на 451, либо 469 патче на Ваш выбор т.к. на этих патчах работает webadmin, что удобно для удаленного администрирования.
Перед тем как что-то начать делать убедитесь, что у Вас есть статический IP адрес!
Обращайте внимание на знаки $, #, >, они не являются частью команд, но показывают от какого пользователя или в каком приложении они вводятся, это важно.
Опять же как и в случае с развертыванием CS сервера я не буду рассказывать как установить саму ОС, так как это элементарно просто, так что приступлю сразу к делу! Опять же я использовал самый легкий образ ОС Debian (Маленькие диски или USB-накопители amd64), скачать его можно по ссылке с официального сайта Debian (~250-300Мб).
При установке ОС выбираем только необходимые системные утилиты, остальное нам ни к чему. После установки доустанавливаем необходимое для удобства пакеты
ssh — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой
mc — файловый менеджер с текстовым интерфейсом
net-tools — это набор сетевых утилит для диагностики сетей и мониторинга сетевых соединений# apt update # apt upgrage # apt install ssh mc net-tools
Если сервер находится за NAT, меняем настройки сетевого адаптера на статику, для этого открываем конфиг, меняем IP на свои если они отличаются от моего варианта:
# nano /etc/network/interfaces
прописываем СВОИ параметры, я буду использовать ip 192.168.1.8:
# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.1.9 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 8.8.8.8
Отключаем IPv6, идем в конфиг:
# nano /etc/sysctl.conf
В конец конфига вставляем:
Turn off IPv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1
При этом в последней строке, если необходимо, изменяем имя сетевого интерфейса eth0 на тот, который используется у нас. Если в системе несколько интерфейсов, то добавляем по аналогии строку для каждого дополнительного интерфейса.
Для вступления изменений в силу, заставим sysctl перечитать файл /etc/sysctl.conf:
# sysctl -p
Перезагружаем сервер и проверяем список интерфейсов, где IPv6 интерфейсов уже не должно остаться:
# ip addr | grep inet6
Так же понадобятся x32 библиотеки для запуска сервера, установим их:
# dpkg --add-architecture i386 # apt update # apt install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
На этом подготовка закончена приступим к установке самого сервера.
Прежде всего, вам нужно создать обычного пользователя, подойдет та учетная запись, которая была создана при установке ОС. **НЕ используйте** ROOT для запуска игрового сервера!
Если при установке ОС вы создали дополнительную учетную запись, например administrator, то она вполне сгодится!
Если Вы этого не сделали, то просто создайте его командой:
# adduser [username]
Эта команда запустит скрипт, который задаст несколько вопросов, например пароль.
Как только Вы это сделаете, войдите в систему под этим пользователем. Самый простой способ сделать это без выхода из системы — использовать команду su.
# su - [username]
Итак, теперь, когда у нас есть пользователь, нам нужно перейти в его домашний каталог. Так что давайте сделаем следующее:
$ cd /home/[username]
Далее скачиваем UT99 сервер и разархивируем его основные файлы
$ wget https://geek-speak.ru/files/UT99SRV/ut-server-436.tar.gz $ tar -zxf ut-server-436.tar.gz
переходим в каталог
$ cd ut-server
Далее мануал для развертывания патча 451
Скачиваем и разархивируем архив с патчем 451$ wget https://geek-speak.ru/files/UT99SRV/UTPGPatch451LINUX.tar.tar tar xfj UTPGPatch451LINUX.tar.tar
Скачиваем и разархивируем ASU (Abfackelns Server Utilities)
$ wget https://geek-speak.ru/files/UT99SRV/asu-0.6.tar.gz tar -zxf asu-0.6.tar.gz
Даем полные права исполняемому файлу ASU и необходимым каталогам и файлам для запуска UT99
$ chmod +x asu.sh
$ chmod +x ucc
$ chmod +x Logs
$ chmod +x System
Далее мануал для развертывания патча 469c
Скачиваем и разархивируем архив с патчем 469c$ wget https://geek-speak.ru/files/UT99SRV/UTPatch469c-Linux-x86.tar.bz2 $ tar xfj UTPatch469c-Linux-x86.tar.bz2
Скачиваем и разархивируем ASU (Abfackelns Server Utilities)
$ wget https://geek-speak.ru/files/UT99SRV/ASU-NEW.zip $ gunzip -S ASU-NEW.zip
ВНИМАЕНИЕ! После распаковки убедитесь, что файлы находятся в нужных каталогах, для этого откройте файловый менеджер mc, и убедитесь, что все одноименные файлы и каталоги находятся в основной папке.
Даем полные права исполняемому файлу ASU и необходимым каталогам и файлам для запуска UT99
$ chmod +x asu.sh
$ chmod +x ucc
$ chmod +x Logs
$ chmod +x System
Так как игра уже не очень новая нам нужно будет выполнить еще несколько телодвижений. Перейдем в папку System игрового сервера. «System» — c большой буквы.
$ cd System
И сделаем символическую ссылку
$ ln -s libSDL-1.1.so.0 libSDL-1.2.so.0
Выходим в корень сервера
$ cd $HOME/ut-server
Запускаем скрипт настройки
$ bash ./asu.sh
После запуска скрипт начнет запрашивать у Вас различные опции для настроек сервера. Те опции о которых Вы ничего не знаете оставьте по умолчанию. После запуска скрипта Вы увидите следующее текстовое меню:
MAIN MENU --------- B) Bot Menu D) Specify UT Directory and active .ini files /usr/games/ut-server/./System/UnrealTournament.ini H) Help and Copyright Information I) Install Init Script N) Enable NG Local Stats (requires JDK 1.2) O) Optimization Menu P) Patches R) Enable Download Redirection S) Server Info, MOTD and Passwords U) Umod Package Menu V) Verify Installation X) Exit Enter a letter from the above menu. ?
Чтобы запустить сервер, мы сосредоточимся только на настройке сценария запуска. Поэтому выберите вариант I.
Первый вопрос настройки сервера будет касаться от какого пользователя вы будете запускать свой сервер. Вводим имя пользователя, которого создали в самом начале! Не запускайте его как root.
Затем он попросит вас ввести IP-адрес, который будет прослушивать. Это нужно сделать только в том случае, если на сервере имеется несколько IP-адресов. Я оставил его пустым.
Затем он спросит вас, какой тип игры вы хотите запустить, если вы не видите тип игры, который вы планируете запустить. Просто выберите DM на данный момент, или пропустите этот шаг, данные настройки можно будет изменить через Webmin.
Затем он спросит вас, с какой карты вы хотите начать. Просто выберите одну из представленных карт. Не имеет значения, может быть изменено позже через Webmin.
Если вы планируете запускать мутаторы, введите их сейчас. Введите только один, затем нажмите клавишу ввода. Он будет продолжать задавать этот вопрос, пока вы не представите пустой ответ. Если вы не хотите запускать какие-либо мутаторы, просто нажмите клавишу ввода, данные настройки можно будет изменить через Webmin.
Как только вы закончите настраивать сервер, он выведет вам полный список настроек, которые вы только что ввели. Просмотрите его, чтобы убедиться, что вы сделали все верно. Затем выйдите из сценария выбрав «X» в меню.
Сценарий создаст файл ucc.init. Важно знать, что в нем установлен путь к серверу. Итак, если вы хотите переместить сервер в другой каталог, вы должны изменить этот файл. Имя пути упоминается несколько раз.
Дадим этому файлу так же полные права:
# chmod +x ucc.init
[Хочу упомянуть, что настройки ASU, есть возможность изменять через любой текстовый редактор, и запустив скрипт утилиты через ./asu.sh. Запустив скрипт и выбрав опцию
(просмотр\редактирование информация о сервере, MOTD и пароли), укажите, какой порт вы хотите использовать для веб-администратора, а также имя пользователя и пароль. Не обязательно редактировать файл UnrealTournament.ini напрямую, который также позволяет изменить имя сервера, MOTDS и другую информацию касающуюся сервера.Далее включим webadmin для удобного удаленного администрирования. Открываем файл настроек сервера System\UnrealTournament.ini, в нем ищем раздел [UWeb.WebServer] и устанавливаем параметр bEnabled = True, если необходимо меняем порт (стандарт 5080) (если по какой-то причине Вы не видите параметров порта добавляем строку ListenPort сами):
[UWeb.WebServer] Applications[0]=UTServerAdmin.UTServerAdmin ApplicationPaths[0]=/ServerAdmin Applications[1]=UTServerAdmin.UTImageServer ApplicationPaths[1]=/images DefaultApplication=0 bEnabled=True ListenPort=5080
Также задайте пароль в разделе [UTServerAdmin.UTServerAdmin], иначе люди попытаются войти в систему со значениями по умолчанию:
[UTServerAdmin.UTServerAdmin] AdminUsername = admin AdminPassword = mybiggestsecret
При переходе на webadmin обязательно включите /ServerAdmin/ в свою адресную строку после хоста, т.к. возможно сервер попытается Вас перенаправить на защищенное соединение httpS в результате чего страница просто выдаст любую ошибку 404, 502. Итак, перейдите по адресу http://hostname:5080/ServerAdmin/ (не забывайте поставить косую черту в конце).
В качестве меры предосторожности, начиная с патча 451, добавлена защита от принудительного входа администратора. Дополнительную информацию смотрите в файле Releasenotes.htm в справочном каталоге. В разделе [Engine.Gameinfo] необходимо добавить/изменить несколько правил (Проверьте эти параметры): [Engine.GameInfo] (snip) ... LoginDelaySeconds=1.000000 MaxLoginAttempts=50 ActionToTake=DO_KickBanPlayer
Если все в порядке, то вы можете продолжить и пропустить этот шаг и запустить сервер с помощью этой команды.
$ bash ./ucc.init start
Для старта\остановки и перезагрузки сервера используются стандартные команды start\stop\restart. Если у вас возникли проблемы с запуском UT сервера, либо в консоли вы видите сообщения об ошибках на невозможность найти его файлы данных (см. Каталог Logs для сообщений об ошибках, если сервер не запускается), вам нужно установить переменную UT_DATA_PATH. Для этого нужно добавить строку ниже MYUSER = User.ini в ucc.init:
export UT_DATA_PATH="$MYDIR/ut-server/System/"
Для того, чтоб была возможность для подключения к серверу «из вне» нужно пробросить UDP порты (не TCP) 7777-7779, 7780 и 8777. Если у ваших друзей после проброса появилось возможность подключиться к серверу, больше ни чего делать не нужно. Так же если вы просматриваете мастербраузер и не видите свой сервер, еще нужно пробросить TCP порт 27900. Если он уже появляется, вам так же не нужно ничего делать.
16.11.2018 в 21:43 #417UPD 16.11.18Если на сервере стала крошиться ошибка подобного типа:
Заходим в конфигурационный файл ut сервера
nano /home/USERNAME/ut-server/System/UnrealTournament.ini
Ищем\правим\добавляем строки, чтоб получилось как ниже:[Engine.StatLog] LocalBatcherURL= LocalBatcherParams= LocalStatsURL= WorldBatcherURL= WorldBatcherParams= WorldStatsURL= LocalLogDir=../Logs WorldLogDir= bLogTypingEvents=False bWorldBatcherError=False [Engine.GameInfo] bWorldLog=False [IpServer.UdpServerQuery] GameName=ut OldQueryPortNumber=0 bRestartServerOnPortSwap=False MinNetVer=0 bTeamInfo=False
т.е. ни чего не удаляем просто изменяем конфиг в первом и втором случае, в третьем добавляем строки, после чего перезапускаем сервер.
Чтоб изменить сложность ботов, идем в конфиг:
nano /home/USERNAME/ut-server/System/Users.ini
ищем параметр
Difficulty=6
меняем от 1 до 8
1. Novice — Новичок
2. Average — Бывалый
3. Experienced — Опытный
4. Skilled — Скиловый
5. Adept — Искусный
6. Masterful — Властелин
7. Inhuman — Нечеловеческий
8. Godlike — Богоподобный- Ответ изменён 6 лет назад пользователем E-tec.
26.12.2019 в 15:06 #1129TCP PORTS: 7777, 8080, 8777, 9777, 27900
UDP PORTS: 7777, 7778, 7779, 2790005.06.2023 в 10:01 #2375UPD 05.06.23После отключения официальных серверов epic, в клиентах перестали отображаться сервера в мастербраузере игры. Для того, чтоб список снова был виден, ищем файл UT99\System\UnrealTournament.ini открываем его любым удобным редактором. Далее ищем следующий раздел конфига и добавляем строку в самый конец.
[UBrowser.UBrowserMainClientWindow] ... bKeepMasterServer=True
В этом же файле ищем мастер сервера оставляем только те, которые еще «живые»
[UBrowserAll] ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.333networks.com,MasterServerTCPPort=28900,Region=0,GameName=ut ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.noccer.de,MasterServerTCPPort=28900,Region=0,GameName=ut ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.errorist.tk,MasterServerTCPPort=28900,Region=0,GameName=ut ListFactories[3]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.newbiesplayground.net,MasterServerTCPPort=28900,Region=0,GameName=ut ListFactories[4]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.oldunreal.com,MasterServerTCPPort=28900,Region=0,GameName=ut ListFactories[5]=UBrowser.UBrowserGSpyFact,MasterServerAddress=unreal.epicgames.com,MasterServerTCPPort=28900,Region=0,GameName=ut ListFactories[6]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master0.gamespy.com,MasterServerTCPPort=28900,Region=0,GameName=ut bHidden=True bFallbackFactories=false
После этого сохраняем файл проверяем работоспособность браузера серверов
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.