Obtained via distro commands:
Debian/Ubuntu: 'apt install git make automake mariadb libsdl2-dev libmariadb-dev libboost1.55-dev libreadline-dev' (remove mariadb if you want to use MySQL) if you're on Ubuntu 19.04+ you need to get MySQL 5.7 manually.
Arch Linux: 'pacman -S git make automake mariadb sdl2 boost-libs boost readline' (remove mariadb if you want to use MySQL) then you need to get MySQL 5.7 from the AUR, 'yay -S mysql57'
Fedora: 'dnf install git make automake mariadb mariadb-server SDL2 boost boost-devel readline-devel mariadb-devel' (remove mariadb if you want to use MySQL) getting MySQL 5.7 on Fedora needs to be done manually.
Additional libraries/source that must be individually obtained and installed:
1. Obtain the source code / server base:
git clone http://cutpon.com:3000/devn00b/EQ2EMu.git
2. Change Directory to the LoginServer source:
3. Run make (or use 'make -jX with X replacing number of threads to compile faster)
4. Change Directory to the RecastDemo, also make sure you downloaded Premake5 and put it in this directory.
5. Run premake5 and make:
6. Clone fmtlib into the depends folder
git clone https://github.com/fmtlib/fmt.git
7. Change Directory to the WorldServer source:
8. Run make (or use 'make -jX with X replacing number of threads to compile faster)
9. Change directory to the main folder
10. Make a new folder
11. Copy the world and login binary
cp ../EQ2/source/WorldServer/eq2world ./ && cp ../EQ2/source/LoginServer/login ./
12. Copy all the needed files for the server
cp -rT ../server .
13. Update login_db.ini and world_db.ini to use the correct password for the DB.
14. Update LoginServer.ini to the correct server details.
15. To run the server you will need to execute login and eq2world (keep in mind you will need multiple shells or run these individually in screen)
The server won't start if you don't populate the database. The database contains practically everything you see in the game. To populate it is easy.
If you want to keep your server at the newest version, simply run 'git pull' in the EQ2EMu directory, then cd into Login and World server and compile them. Then simply copy the binaries to the Linux folder or wherever else you might have put your executables for the server. Then you just grab the latest SQL files and execute those in your database.
I made a script to automate the process.
wget -cO - https://www.dropbox.com/s/ysvj0fgba0f1efn/updater.sh?dl=1 > updater.sh
2. give it executing permissions
chmod +x updater.sh
3. Run it
4. Execute the 2 new SQL files in SQL_UPDATES to your database.
Check gcc -v you may be running GCC v7, GCC v8 required.
-I/usr/include/mysql in COPTS=$(WFLAGS)
Or you might be missing libmariadb-dev.
/usr/bin/ld: build/release/WorldServer/World.o: in function `World::init()':World.cpp:(.text+0xa9df): undefined reference to `WorldDatabase::LoadRuleSets()'collect2: error: ld returned 1 exit statusmake: *** [makefile:58: eq2world] Error 1
Simply try to run 'make clean' then 'make' once more.