Установка EQ2EMU, сервера EverQuest 2 на Debian 12.



  • Задаем статический адрес

  • $ sudo nano /etc/network/interfaces
  • # удаляем dhcp
  • iface enp0s3 inet dhcp

  • # добавляем
  • auto enp0s3
    allow-hotplug enp0s3
    iface enp0s3 inet static
    address 192.168.0.247
    netmask 255.255.254.0
    gateway 192.168.0.254

    $ sudo reboot

  • Теперь сам сервер

  • $ sudo apt install git make automake g++ cmake mariadb-server libsdl2-dev libmariadb-dev libboost-dev libboost-all-dev libreadline-dev build-essential liblua5.4-dev lua5.4 libcrypto++-dev wget libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev libglm-dev libfmt-dev screen phpmyadmin -y

  • Клонируем репозиторий
  • $ git clone https://git.eq2emu.com/devn00b/EQ2EMu.git

  • Заменим часть кода
  • $ cd EQ2EMu/EQ2/source/depends
    $ rm -Rf recastnavigation
    $ git clone https://github.com/recastnavigation/recastnavigation.git

  • Загрузка premake
  • $ wget https://github.com/premake/premake-core/releases/download/v5.0.0-beta2/premake-5.0.0-beta2-linux.tar.gz
    $ tar xfz premake-5.0.0-beta2-linux.tar.gz
    $ rm premake-5.0.0-beta2-linux.tar.gz

  • Сборка premake
  • $ chmod +x premake5
    $ cp premake5 recastnavigation/RecastDemo
    $ cd recastnavigation/RecastDemo
    $ ./premake5 gmake
    $ cd Build/gmake
    $ make -j$(nproc)
    $ sudo cp lib/Debug/*.a /usr/lib

    $ cd ../../../..
    $ git clone https://github.com/fmtlib/fmt.git

  • Сборка Мирового сервера
  • $ cd ${HOME}/EQ2EMu/EQ2/source/depends/fmt/include
    $ cp -R fmt ${HOME}/EQ2EMu/EQ2/source/common
    $ cd ${HOME}/EQ2EMu/EQ2/source/WorldServer
    $ make -j$(nproc)
    $ cp eq2world ${HOME}/EQ2EMu/server

  • Сборка сервера логирования
  • $ cd ${HOME}/EQ2EMu/EQ2/source/LoginServer
    $ make -j$(nproc)
    $ cp login ${HOME}/EQ2EMu/server
    $ cd ${HOME}/EQ2EMu/server

  • Создание и заливка баз
  • $ sudo mariadb -u root -p
    CREATE DATABASE eq2emu;
    CREATE DATABASE eq2ls;
    CREATE USER 'eq2emu'@localhost IDENTIFIED BY 'eq2emu';
    GRANT ALL PRIVILEGES ON *.* TO 'eq2emu'@localhost IDENTIFIED BY 'eq2emu';
    FLUSH PRIVILEGES;
    exit;

    $ wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://www.zeklabs.com/dl/eq2emudb.tar.gz
    $ tar xfz eq2emudb.tar.gz
    $ rm -rf eq2emudb.tar.gz
    $ mysql -ueq2emu -peq2emu eq2emu < eq2emu.sql
    $ rm -rf eq2emu.sql

    $ wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://www.zeklabs.com/dl/eq2emulssql.tar.gz
    $ tar xfz eq2emulssql.tar.gz
    $ rm -rf eq2emulssql.tar.gz
    $ mysql -ueq2emu -peq2emu eq2ls < eq2emulssql.sql
    $ rm eq2emulssql.sql


  • Клонирование EQ2 контента и Maps

  • $ mkdir -p ${HOME}/EQ2EMu/server/oldfiles

    $ cd ${HOME}/EQ2EMu/server
    $ mv SpawnStructs.xml ${HOME}/EQ2EMu/server/oldfiles
    $ mv WorldStructs.xml ${HOME}/EQ2EMu/server/oldfiles
    $ mv EQ2_Structs.xml ${HOME}/EQ2EMu/server/oldfiles
    $ mv LoginStructs.xml ${HOME}/EQ2EMu/server/oldfiles
    $ mv CommonStructs.xml ${HOME}/EQ2EMu/server/oldfiles

    $ wget -q --no-check-certificate http://git.eq2emu.com/devn00b/EQ2EMu/raw/master/server/SpawnStructs.xml
    $ wget -q --no-check-certificate http://git.eq2emu.com/devn00b/EQ2EMu/raw/master/server/WorldStructs.xml
    $ wget -q --no-check-certificate http://git.eq2emu.com/devn00b/EQ2EMu/raw/master/server/EQ2_Structs.xml
    $ wget -q --no-check-certificate http://git.eq2emu.com/devn00b/EQ2EMu/raw/master/server/ItemStructs.xml
    $ wget -q --no-check-certificate http://git.eq2emu.com/devn00b/EQ2EMu/raw/master/server/LoginStructs.xml
    $ wget -q --no-check-certificate http://git.eq2emu.com/devn00b/EQ2EMu/raw/master/server/CommonStructs.xml

    $ cd ${HOME}/EQ2EMu/server
    $ wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://www.zeklabs.com/dl/eq2emulua.tar.gz
    $ tar xfz eq2emulua.tar.gz
    $ rm eq2emulua.tar.gz

    $ rm -rf ${HOME}/EQ2EMu/Maps
    $ cp -r ${HOME}/EQ2EMu/server/Maps ${HOME}/EQ2EMu


  • Настраиваем конфиги

  • адреса можно настраивать по разному, но на VirtualBox не загружались зоны пока мы не поставили статический адрес сервера как мировой

  • $ nano ${HOME}/EQ2EMu/server/server_config.json
    "LoginServer": {
    "loginserver": "127.0.0.1",
    "loginport": "9100",
    "worldname": "ServerEQ2",
    "worldaddress": "192.168.0.247",
    "internalworldaddress": "127.0.0.1",
    "worldport": "9001",
    "locked": "false",
    "account": "testlabs",
    "password": "testpass"
    },

    $ nano ${HOME}/EQ2EMu/server/world_db.ini
    [Database]
    host=127.0.0.1
    user=eq2emu
    password=eq2emu
    database=eq2emu

    $ nano ${HOME}/EQ2EMu/server/login_db.ini
    [Database]
    host=localhost
    user=eq2emu
    password=eq2emu
    database=eq2ls


  • Добавим наш аккаунт в базу

  • $ sudo mariadb -u root -p
    \u eq2ls
    insert into login_worldservers set note='', description='', name='ServerEQ2', account='testlabs',password=sha2('testpass',512);
    FLUSH PRIVILEGES;
    exit;

    $ sudo systemctl restart mariadb


  • Запускаем сервер

  • $ cd ${HOME}/EQ2EMu/server
    $ screen -Sdm EQ2Login ./login
    $ screen -Sdm EQ2World ./eq2world
    $ screen -ls > ${HOME}/EQ2EMu/world-login.pid


  • Подключаемые клиенты смотреть ТУТ

  • Фикс у кого процессор АМД здесь
  • Можно также самостоятельно отредактировать EverQuest2.exe в любом HEX редакторе
  • 0F A2 89 45 F8 83 7D F8 02 0F 8C 01 01 00 00
  • заменить на
  • 0F A2 89 45 F8 90 90 90 90 E9 02 01 00 00 90


  • Для подключения клиента отредактируйте eq2_default.ini

  • указав свой адрес и порт 9100
  • cl_ls_address 192.168.0.247:9100


  • Запускайте игру через EverQuest2.exe

  • Свежие новости ищите на сайтах разработчика eq2emu.com, zeklabs.com

  • Готовую сборку с клиентом установленным на Linux Вы можете скачать с Rutracker