Установка 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
➤