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

Просмотров: 418

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

$ sudo nano /etc/network/interfaces
# удаляем dhcp
allow-hotplug enp0s3
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.comzeklabs.com
 
Готовую сборку с клиентом установленным на Linux Вы можете скачать с торрента ТУТ, ТУТ

Компонент комментариев CComment