Создаем сервер Unreal Tournament 99 (UT99) на Debain 9 - Geek-Speak

Главная Форумы JUST FOR FUN Create gaming servers Создаем сервер Unreal Tournament 99 (UT99) на Debain 9

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Автор
    Сообщения
  • #398
    Esmertec
    Хранитель

    Это руководство покажет вам шаг за шагом установить Unreal Tournament 99 на Linux. Он будет содержать информацию о применении патча 451, потому что без него не работает webadmin.

    Опять же как и в случае с развертыванием CS сервера я не буду рассказывать как установить сам ОС, так как это элементарно просто, так что приступлю сразу к делу! Опять же я использовал самый легкий образ ОС Debian (Маленькие диски или USB-накопители amd64), скачать его можно по ссылке => Debian 9 mini cd x64 (~250-300Мб).

    При установке ОС выбираем только необходимые системные утилиты, остальное нам ни к чему.

    После установки доустанавливаем необходимое для удобства пакеты
    ssh – сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой
    mc – файловый менеджер с текстовым интерфейсом
    net-tools – это набор сетевых утилит для диагностики сетей и мониторинга сетевых соединений

    apt update
    apt upgrage
    apt install ssh mc net-tools

    Меняем настройки сетевого адаптера на статику, для этого открываем конфиг:
    # 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

    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

    Так как игра уже не очень новая нам нужно будет выполнить еще несколько телодвижений. Перейдем в папку 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.

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

    Сценарий создаст файл ucc.init. Важно знать, что в нем установлен путь к серверу. Итак, если вы хотите переместить сервер в другой каталог, вы должны изменить этот файл. Имя пути упоминается несколько раз.

    Дадим этому файлу так же полные права:
    chmod +x ucc.init

    [Хочу упомянуть, что ASU обладает этой способностью через текстовый редактор, о котором я упоминал выше. Запустив диспетчер утилиты через ./asu.sh, затем выбрав опцию (информация о сервере, MOTD и пароли), он попросит вас там, какой порт вы хотите использовать для веб-администратора, а также имя пользователя и пароль. Не нужно редактировать UnrealTournament.ini напрямую. Он также позволит вам изменить имя сервера, MOTDS и другую информацию. -Skillz]

    Затем включим webadmin. Вы можете сделать это, открыв 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/ в свою адресную строку после хоста, потому что в противном случае он попытается перенаправить вас на это с помощью перенаправления HTTP, но это не удастся, потому что сервер не знает, что вы используя интернет-имя хоста и, следовательно, перенаправит вас на его LAN-IP, что, очевидно, не будет работать, если сервер отсутствует в вашей локальной сети. Итак, перейдите по адресу 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/"

    Ты знаешь, что такое безумие? Безумие - это точное повторение одного и того же действия, раз за разом, в надежде на изменение.

    #417
    Esmertec
    Хранитель
    UPD 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 – Богоподобный

    • Ответ изменён 1 год, 4 месяца назад пользователем Esmertec.

    Ты знаешь, что такое безумие? Безумие - это точное повторение одного и того же действия, раз за разом, в надежде на изменение.

    #1129
    Esmertec
    Хранитель

    TCP PORTS: 7777, 8080, 8777, 9777, 27900
    UDP PORTS: 7777, 7778, 7779, 27900

    Ты знаешь, что такое безумие? Безумие - это точное повторение одного и того же действия, раз за разом, в надежде на изменение.

Просмотр 3 сообщений - с 1 по 3 (из 3 всего)
  • Для ответа в этой теме необходимо авторизоваться.
Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
Генерация пароля