Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-12-2025, 02:01 AM
plesky's Avatar
plesky
Fire Beetle
 
Join Date: Mar 2025
Posts: 22
Default Easy DIY Linux Install

This install involves Current EQEmu source code - Release v23.10.3 and Current Database - db version 9328 (as of Oct 12, 2025)

I put this together for a quick fix for manually installing a server on linux.(no docker/container setup). I use this exact method myself all the time, when installing on a new linux box, except, I compile my own binaries. I've always used Debian, so I have no clue about other flavours. If you're using any virtual or vm environment, I can't help you with any problems that may be related to that. I've never used anything besides a dedicated linux box.

Instructions in the readme include download links, including the EQEmu pre-compiled binaries on their github release. This method has no compiling to do. But at the end of the readme-setup doc, there is instructions for those who want to compile their own binaries in linux (it's easy). But I ran into compile errors with Debian 11, so I upgraded to 12 and problems went away.

First part of putting it together, is using a former linux install shell script from Emu, before it was labeled as "broken". I edited a few lines to comment out dead download links and not continuing on. It installs the basic pre-requisites, (perl, mariadb, libsodium, etc.) and prompts the user for usernames, passwords, etc, just as it used to. It goes as far as creating the /home/eqemu/server folder and the eqemu linux user.

Inside the zip file, is the install.sh file, the readme-setup doc and the install folder. That contains all files needed inside the /home/eqemu/server/ folder, except for maps, but the readme-setup doc has links for any downloads needed.

This has always worked for me, so if you have problems, I won't know what's happening on your end. If you followed every line in the readme-setup doc, you shouldn't have problems. But if you're totally new to linux ...... I have no intentions of tutoring anyone. I'm busy, lol

You can download the zip file here:

https://github.com/user-attachments/...ux_Install.zip

Recommended to unzip in your linux /home/user/ folder and go from there. Important: Not a good idea to edit linux shell scripts (.sh) in windows. The readme doc will explain that.

AFTER EDIT: Sorry, something I should of added in that readme-setup doc. When I start the server, booting up, it may just be a "me" thing, but it takes awhile, sometimes it can make one think it is hanging on part, before it shows zones loading in the terminal window, but it still boots up. That custom start.sh I use works for me, you can close the terminal window after the server is fully booted up.

Good Luck.

......gone fishing .....
__________________
__________________________________________
A 1998 Adventure - (site being moved)
Reply With Quote
  #2  
Old 10-12-2025, 02:10 AM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Thank you! Will try this in the AM after my eyes get some rest!
Reply With Quote
  #3  
Old 10-12-2025, 01:48 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Taking a look at this now. One thing I've noticed, and this would be true of the official install method on Linux, is that it's wanting to install to /home/eqemu. While I could understand this maybe in a server environment and wanting better isolation, it's not something I'm interested in at all for my locally running emu. So I'm basically sitting here dissecting the installer and going to be doing it piecemeal manually so I can install it where I want off of my own home directory instead.
Reply With Quote
  #4  
Old 10-12-2025, 04:40 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Curious, are you not using spire? I also don't see a self hosted login server being used (looks like it's commented out in the installer but maybe I'm overlooking something).

I went a bit different about it. I took the almost running docker and pulled everything out of it into a directory I wanted within my own home directory, replacing all the symlinks with either direct files when there was no other reason for the symlink, or symlink to the appropriate spot in my own directory structure.

The thing I'm struggling with right now is trying to figure out how the docker launches Spire, that and login server the only two things I actually did get going with Docker lmao. I tried the launch command that windows uses for Spire but it's trying to download a non-existent zip file and choking, so obviously I'm not launching Spire the same way the docker is.
Reply With Quote
  #5  
Old 10-12-2025, 06:09 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Grrrr so close! Was able to log in, however world shows down. It let me in anyway, and I was able to create a character. However it shows zones are down and won't let me in game. Trying to track down the last issue to get me across the finish line (minus Spire, but that's less important just running locally alone).
Reply With Quote
  #6  
Old 10-12-2025, 07:16 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Well hmm. Everything is up and running now (had to copy /opt/eqemu-perl out of the docker.. maybe it's a docker specific thing I can work out). The only issue I'm facing now is that it doesn't appear zones are working dynamically. If I launch zone alone, one will launch and then my server does show as 'Up' and I can get into game with everything appearing to be working. Not sure why this is the case.. maybe I'll need to copy the binaries over that are not from the docker, maybe there's something specific about them. Or maybe I still have a weird config issue. Continuing to dig..
Reply With Quote
  #7  
Old 10-12-2025, 08:23 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Hmmm... using the precompiled linux binaries now instead of the ones out of the docker. Still seeing the dynamic zones continuously stop immediately. zone-dynamic log files are empty, unfortunately, so I can't see what is actually causing this. Not sure what to look at.
Reply With Quote
  #8  
Old 10-12-2025, 08:32 PM
plesky's Avatar
plesky
Fire Beetle
 
Join Date: Mar 2025
Posts: 22
Default

Quote:
Originally Posted by rubysoul View Post
Hmmm... using the precompiled linux binaries now instead of the ones out of the docker. Still seeing the dynamic zones continuously stop immediately. zone-dynamic log files are empty, unfortunately, so I can't see what is actually causing this. Not sure what to look at.
Not sure if you caught the "After Edit" in my original post on this thread ?
Other than that, not sure whats happening on your end. When it shows zones "UP" in status, does it show the actual number of zones ?

I forgot you already had docker installed, but I have never installed that, so I know nothing about it, or whether it's creating a conflict.
__________________
__________________________________________
A 1998 Adventure - (site being moved)
Reply With Quote
  #9  
Old 10-12-2025, 08:57 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

Quote:
Originally Posted by plesky View Post
Not sure if you caught the "After Edit" in my original post on this thread ?
Other than that, not sure whats happening on your end. When it shows zones "UP" in status, does it show the actual number of zones ?

I forgot you already had docker installed, but I have never installed that, so I know nothing about it, or whether it's creating a conflict.
I have the docker completely shut down while I'm doing this. The only conflict would have been MariaDB on the same port. So it's not that.

Status shows:
PEQ Server
World: DOWN Zones: (0/10) UCS: DOWN Queryserv: DOWN

I'm seeing the following repeatedly every 5-10 seconds or so in the window I run start.sh:
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STARTED] [(2] starts)
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STOPPED] [(2] starts)
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STARTED] [(3] starts)
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STOPPED] [(3] starts)

However, if I manually run a single /bin/zone instance after launching start.sh, then my server does show as 'Up' in server select and I'm able to log all the way into the game. What's weird is that status.sh still shows the same as above, world being down and 0/10 zones even though I can fully log in.
Reply With Quote
  #10  
Old 10-12-2025, 10:45 PM
plesky's Avatar
plesky
Fire Beetle
 
Join Date: Mar 2025
Posts: 22
Default

Quote:
Originally Posted by rubysoul View Post
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STARTED] [(2] starts)
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STOPPED] [(2] starts)
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STARTED] [(3] starts)
World | Info | ProcessMessage [zone] [dynamic_01] reported state [STOPPED] [(3] starts)
Here's a common issue causing that starts/stopped thing with zones. The /server/plugins and /server lua_modules folders are also in the /server/quests folder.
All of that contained the most updated version, which it all has to match as well. (/server/plugins/ and /server/lua_modules) has to match the /server/quests/plugins and /server/quests/modules/ (all updated)

I just went through that not long ago with the starts/stopped errors. After all it was updated, the errors went away.

Edit: By the way, that "Install" folder with the zip file I posted, is an exact copy of my linux test server, using Current EQEmu source code - Release v23.10.3 and Current Database - db version 9328 (that was created, using that install.sh script)
__________________
__________________________________________
A 1998 Adventure - (site being moved)
Reply With Quote
  #11  
Old 10-12-2025, 09:19 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

One other thing I'll note is that I'm on Ubuntu 24.04. There were a few packages that couldn't install, not sure if that's related, but I'm literally not seeing any actual errors and manually starting the zone works fine. The only one I directly recall not working is libsodium18.

sudo apt-get install libsodium18
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libsodium18 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libsodium18' has no installation candidate
Reply With Quote
  #12  
Old 10-12-2025, 09:36 PM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

FYI a temporary solution for now is that I can replace the eqlaunch section in your start.sh file and (albeit hacky) everything works for now. Maybe we'll get the official installer back available soon.

#if test -f "./bin/eqlaunch"; then
# ./bin/eqlaunch zone &
#fi

if test -f "./bin/zone"; then
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
./bin/zone &
fi
Reply With Quote
  #13  
Old Yesterday, 01:21 AM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default

One other thing I noted - I actually have newer opcodes and patches than you. Mine have a few more entries making the files slightly larger.
Reply With Quote
  #14  
Old Yesterday, 01:43 AM
rubysoul
Fire Beetle
 
Join Date: Jul 2015
Posts: 23
Default



https://imgur.com/a/NeKRwlu

This is how I did it since I wanted the installation self-contained like the windows version. I didn't want the separate eqemu user nor that folder.

(I can't see the image and I'm not sure why so I pasted the url too)

(also ignore bin-docker, it's just a backup of the executables built in the docker, I'm running the precompiled ones now)
Reply With Quote
  #15  
Old Yesterday, 01:44 AM
plesky's Avatar
plesky
Fire Beetle
 
Join Date: Mar 2025
Posts: 22
Default

You can technically setup the bin folder anywhere, put the executables inside it, as long as your symlinks point to them. One time, I created a bin folder, right inside the server folder and put them in there to run them.

In the original linux install, it created a /home/eqemu/server_source and /home/eqemu/server_build (which also created a bin inside of that) when the binaries were compiled.

If you follow the instructions for compiling, at the end of that readme-setup, whatever build directory is used for compiling, it will create a bin folder there.
__________________
__________________________________________
A 1998 Adventure - (site being moved)
Reply With Quote
Reply

Tags
linux install

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:39 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3