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

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

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

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

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

      Перед тем как что-то начать делать убедитесь, что у Вас есть статический IP адрес!

      Опять же как и в случае с развертыванием 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
      E-tec
      Хранитель
        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 — Богоподобный

        • Ответ изменён 4 года, 2 месяца назад пользователем E-tec.
        #1129
        E-tec
        Хранитель

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

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