I wanted to recount my recent experience troubleshooting an eqemu server I was trying to host on a linux virtual machine. I spent an embarrassingly long time troubleshooting this problem which turned out to have a very easy fix. Hopefully this will help someone else if they run into a similar issue.
I had an existing, functioning eqemu server running on debian 10 that I tried booting up after a long period of disuse and found that all of my existing characters would crash to the server select screen after the character select screen.
Since this was a test server with nothing valuable on it, I ended up reinstalling the vm with debian 11. I followed the linux install guide on the wiki and used Akkadius install script which executed nicely and all binaries compiled successfully. I modified my eqemu_config.json, and double checked the port forwarding on my firewall.
Everything looked good but after starting the server and trying to log in I crashed after the character select screen again. The world log appeared to show a successful spin up of a zone instance, but the character never entered the zone. Zone logs simply showed the instance spin up, then go idle again.
I double checked config files and ports and scoured the wiki and discord for clues. Most of the threads I saw on the forums with similar symptoms turned out to be problems with the config file or with port forwarding. I tried reinstalling with ubuntu, moving the VM to a new host, and everything else I could think of.
I found a post on discord that described the problem exactly:
Quote:
cobaltblue — 08/14/2022
I've got a hyper-v debian 11 vm hosting the server (configured w/ external switch). Both the VM and my machine have separate static IPs on the router and the VM has ports forwarded. Trying to run the client on my machine. I successfully authenticate to the VMs private login server. I successfully created a character. no luck on <Enter World> however...the server is not responding. -
client log.. dbg.txt
Zone addr [192.168.1.x:22555] received...
ERROR: World did not drop the connection.
Failed to connect to zoneserver (192.168.1.x, port 7000), result = 5
server log.. world_679.log
(Nostalgia) [Zoning from character select] [felwitheb] (Zone ID [62]: Instance ID: [0])
Broadcasting a world time update
Setting zone process to Zone: Southern Felwithe (felwitheb) ID: 62
Local zone address was [127.0.0.1], setting local address to: [192.168.1.x]
Sending client to zone [felwitheb] ([62]:[0]) at [192.168.1.x]:[7000]
[Client Login] ClientListEntry::SetOnline for [myUsername] (1) = [Online] (4)
Client disconnected (not active in process)
Removing client from [192.168.1.y]:[3289]
appreciate the guidance. I know @tibbs3d had a similar issue several months back. (edited)
|
Unfortunately there weren’t any clues in the follow up discussion.
I’m happy to report that my particular problem was fixed by reconfiguring the virtual machine to use 8 virtual processors instead of 4. The only other notable spec is 8GB RAM which remains unchanged. I have no idea why 4 processors were apparently insufficient but my best guess is that it was resulting in a delay and timeout when passing the client from the world process to zone...
So there you have it. Hopefully someone finds that useful.