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 08-10-2015, 07:14 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default [SOLVED] Unable to load zones...

SOLUTION: Use default zone server ports.

So I'm hoping someone can help me with a little troubleshooting

So I have the world server and zone server up and running. I'm able to connect to the world server, create and delete characters, see what zone a character is in (and change it in the DB), but I can't seem to actually get in to a zone.

I have world and eqlaunch zone running from systemd with the correct user, group, and working directory. The launcher correctly spins up five zone daemons, as it should. The zone daemons even seem to be correctly binding to a zone when I try to log into one. However, the client never actually connects to a zone. It hangs for a while, then tells me the server isn't responding and that I've been disconnected.

I have changed the ports in my eqemu_config.xml, but I've also forwarded all the correct ones on my router. I have also tried connecting both from within the LAN as well as from outside the LAN. (Same results each time.)

The client I'm using is from a certain group with an E and a Z. And the word Server. Is it possible that the problem is simply a mismatch? I'm able to log into several other servers on the list without trouble.

I've tried just running shared_memory, then world and zone from separate terminals simultaneously. Output of each is at the bottom, and is consistent with what I see going into the logfiles when I run it from systemd.

I can put up a pcap as well if that would provide any value. Any help is appreciated

Code:
[eq@eq-emu server]$ ./shared_memory 
[Status] Loading items...
[Status] Loading factions...
[Status] Loading loot...
[Status] Loading skill caps...
[Status] Loading spells...
[Status] Loading base data...
[eq@eq-emu server]$ ./world 
[World Server] Loading server configuration..
[World Server] CURRENT_VERSION: 1.1.3
[World Server] Added loginserver login.eqemulator.net:5998
[World Server] Connecting to MySQL...
[Status] Starting File Log 'logs/world_31950.log'
[World Server] Starting HTTP world service...
[World Server] Checking Database Conversions..
[Upgrade Script] No script update necessary 
Perl Version is 5.16.3
============================================================
           EQEmu: Automatic Upgrade Check         
============================================================
	(Linux) MySQL is in system path 
	Path = /usr/bin/mysql
============================================================
	Binary Database Version: (9086)
	Local Database Version: (9086)

	Database up to Date: Continuing World Bootup...
============================================================
[World Server] Loading variables..
[World Server] Loading zones..
[World Server] Clearing groups..
[World Server] Clearing raids..
[World Server] Loading items..
[World Server] Loading skill caps..
[World Server] Loading guilds..
[World Server] Loaded default rule set 'default'
[World Server] Loading EQ time of day..
[World Server] Loading launcher list..
[World Server] Reboot zone modes OFF
[World Server] Deleted 0 stale player corpses from database
[World Server] Loading adventures...
[World Server] Purging expired instances
[World Server] Loading char create info...
[World Server] Zone (TCP) listener started.
[World Server] Client (UDP) listener started.
[World Server] New TCP connection from 127.0.0.1:38736
[World Server] New connection from 192.168.1.109:64806
[World Server] Checking inbound connection 192.168.1.109 against BannedIPs table
[World Server] Connection 192.168.1.109 PASSED banned IPs check. Processing connection.
^C[World Server] Caught signal 2
[World Server] World main loop completed.
[World Server] Shutting down console connections (if any).
[World Server] Shutting down zone connections (if any).
[World Server] Zone (TCP) listener stopped.
[World Server] Client (UDP) listener stopped.
[World Server] Signaling HTTP service to stop...
Code:
[eq@eq-emu server]$ ./zone
[Zone Server] Loading server configuration..
[Zone Server] Connecting to MySQL...
[Status] Starting File Log 'logs/zone_32002.log'
[Zone Server] CURRENT_VERSION: 1.1.3
[Zone Server] Mapping Incoming Opcodes
[Zone Server] Loading Variables
[Zone Server] Loading zone names
[Zone Server] Loading items
[Zone Server] Loading npc faction lists
[Zone Server] Loading loot tables
[Zone Server] Loading skill caps
[Zone Server] Loading spells
[Zone Server] Loading base data
[Zone Server] Loading guilds
[Zone Server] Loading factions
[Zone Server] Loading titles
[Zone Server] Loading tributes
[Zone Server] Loading corpse timers
[Zone Server] Loading commands
[Zone Server] 249 commands loaded
[Zone Server] Loaded default rule set 'default'
[Zone Server] Loading quests
[Quests] Tying perl output to eqemu logs
[Quests] Creating EQEmuIO=HASH(0x19d3f68)
[Quests] Creating EQEmuIO=HASH(0x19b76f8)
[Quests] Loading perlemb plugins.
[Quests] Unable to read perl file 'plugin.pl'
[Quests] Subroutine RandomRange redefined at plugins/random_utils.pl line 3.
[Quests] Subroutine QCreditAccountCheck redefined at plugins/Quest_Credit.pl line 174.
[Quests] Subroutine QCreditPull redefined at plugins/Quest_Credit.pl line 189.
[Quests] Subroutine QCreditAccountPull redefined at plugins/Quest_Credit.pl line 225.
[Quests] Subroutine QCreditGive redefined at plugins/Quest_Credit.pl line 264.
[Quests] Subroutine QCreditAccountGive redefined at plugins/Quest_Credit.pl line 290.
[Quests] Subroutine CreditStatusAccount redefined at plugins/Quest_Credit.pl line 317.
[Quests] Subroutine CreditStatusAccountGive redefined at plugins/Quest_Credit.pl line 351.
[Quests] Subroutine CreditStatusAccountTake redefined at plugins/Quest_Credit.pl line 391.
[Quests] Subroutine GetMaxLoSDistFromHeading redefined at plugins/spawn_tools.pl line 9.
[Quests] Subroutine FaceBestHeading redefined at plugins/spawn_tools.pl line 72.
[Quests] Subroutine HeadingToShortestLoS redefined at plugins/spawn_tools.pl line 142.
[Quests] Subroutine MoveAwayFromWall redefined at plugins/spawn_tools.pl line 206.
[Quests] Subroutine MoveToFirstBestZ redefined at plugins/spawn_tools.pl line 278.
[Quests] Subroutine SpawnZone redefined at plugins/spawn_tools.pl line 311.
[Quests] Subroutine moelib_spawn_block redefined at plugins/spawn_tools.pl line 391.
[Quests] Subroutine moelib_spawn_block_center redefined at plugins/spawn_tools.pl line 412.
[Quests] Subroutine moelib_spawn_circle redefined at plugins/spawn_tools.pl line 434.
[Quests] Unquoted string "false" may clash with future reserved word at plugins/Expeditions.pl line 375.
[Quests] Subroutine GetReverseHeading redefined at plugins/formation_tools.pl line 980.
[Quests] Subroutine ConvertHeadingToDegrees redefined at plugins/formation_tools.pl line 995.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Quests] Subroutine GetSkill redefined at (eval 55) line 1.
[Quests] Subroutine SignalClient redefined at (eval 55) line 1.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Zone Server] Entering sleep mode
[Zone Server] Starting EQ Network server on port 33100
[Status] Booting tutorialb (189:0)
[Status] Loading spawn conditions...
[Status] Loading static zone points...
[Status] Loading spawn groups...
[Status] Loading spawn2 points...
[Status] Loading player corpses...
[Status] Loading traps...
[Status] Loading adventure flavor text...
[Status] Loading ground spawns...
[Status] Loading Ground Spawns from DB...
[Status] Loading World Objects from DB...
[Status] Loading Objects from DB...
[Status] Flushing old respawn timers...
[Status] Loading doors for tutorialb ...
[Status] Loading Doors from database...
[Status] Loading Alternate Advancement Data...
[Status] Loading Alternate Advancement Abilities...
[Status] Loaded 1567 Alternate Advancement Abilities
[Status] Loading Alternate Advancement Ability Ranks...
[Status] Loaded 6651 Alternate Advancement Ability Ranks
[Status] Loading Alternate Advancement Ability Rank Effects...
[Status] Loaded Alternate Advancement Ability Rank Effects
[Status] Loading Alternate Advancement Ability Rank Prereqs...
[Status] Loaded Alternate Advancement Ability Rank Prereqs
[Status] Processing Alternate Advancement Data...
[Status] Loaded Alternate Advancement Data
[Status] Loading Merchant Lists...
[Status] Loading Temporary Merchant Lists...
[Status] Successfully loaded Zone Config.
[Status] Loading timezone data...
[Status] Init Finished: ZoneID = 189, Time Offset = 0
[Status] Path File Header: Version 2, PathNodes 373
[Status] Path File ./Maps/tutorialb.path loaded.
[Normal] ---- Zone server tutorialb, listening on port:33100 ----
[Status] Zone Bootup: tutorialb (189: 0)
[Status] Starting File Log 'logs/tutorialb_version_0_inst_id_0_port_33100_32002.log'
[Zone Server] Time Broadcast Packet: EQTime [07:46 pm]
[Status] Zone Shutdown: tutorialb (189)
[Normal] Zone shutdown: going to sleep
[Quests] Destroying EQEmuIO=HASH(0x19b76f8)
[Quests] Destroying EQEmuIO=HASH(0x19d3f68)
[Quests] Tying perl output to eqemu logs
[Quests] Creating EQEmuIO=HASH(0x380c938)
[Quests] Creating EQEmuIO=HASH(0x1e9a938)
[Quests] Loading perlemb plugins.
[Quests] Unable to read perl file 'plugin.pl'
[Quests] Subroutine RandomRange redefined at plugins/random_utils.pl line 3.
[Quests] Subroutine QCreditAccountCheck redefined at plugins/Quest_Credit.pl line 174.
[Quests] Subroutine QCreditPull redefined at plugins/Quest_Credit.pl line 189.
[Quests] Subroutine QCreditAccountPull redefined at plugins/Quest_Credit.pl line 225.
[Quests] Subroutine QCreditGive redefined at plugins/Quest_Credit.pl line 264.
[Quests] Subroutine QCreditAccountGive redefined at plugins/Quest_Credit.pl line 290.
[Quests] Subroutine CreditStatusAccount redefined at plugins/Quest_Credit.pl line 317.
[Quests] Subroutine CreditStatusAccountGive redefined at plugins/Quest_Credit.pl line 351.
[Quests] Subroutine CreditStatusAccountTake redefined at plugins/Quest_Credit.pl line 391.
[Quests] Subroutine GetMaxLoSDistFromHeading redefined at plugins/spawn_tools.pl line 9.
[Quests] Subroutine FaceBestHeading redefined at plugins/spawn_tools.pl line 72.
[Quests] Subroutine HeadingToShortestLoS redefined at plugins/spawn_tools.pl line 142.
[Quests] Subroutine MoveAwayFromWall redefined at plugins/spawn_tools.pl line 206.
[Quests] Subroutine MoveToFirstBestZ redefined at plugins/spawn_tools.pl line 278.
[Quests] Subroutine SpawnZone redefined at plugins/spawn_tools.pl line 311.
[Quests] Subroutine moelib_spawn_block redefined at plugins/spawn_tools.pl line 391.
[Quests] Subroutine moelib_spawn_block_center redefined at plugins/spawn_tools.pl line 412.
[Quests] Subroutine moelib_spawn_circle redefined at plugins/spawn_tools.pl line 434.
[Quests] Unquoted string "false" may clash with future reserved word at plugins/Expeditions.pl line 375.
[Quests] Subroutine GetReverseHeading redefined at plugins/formation_tools.pl line 980.
[Quests] Subroutine ConvertHeadingToDegrees redefined at plugins/formation_tools.pl line 995.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Quests] Subroutine GetSkill redefined at (eval 55) line 1.
[Quests] Subroutine SignalClient redefined at (eval 55) line 1.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
[Quests] Subroutine MakeTempPet redefined at (eval 55) line 1.
^C[Quests] Destroying EQEmuIO=HASH(0x380c938)
[Quests] Destroying EQEmuIO=HASH(0x1e9a938)
[Zone Server] Proper zone shutdown complete.

Last edited by Flopz; 08-10-2015 at 08:22 PM.. Reason: Added solution
Reply With Quote
  #2  
Old 08-10-2015, 07:26 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I would post your config files with any login/WAN info redacted.


It almost looks like your zone launcher is connecting through localhost instead of your LAN address.

I run exclusively on localhost..so, I can't verify that atm.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 08-10-2015, 07:27 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

I did just notice that the zone daemon is throwing this error message:

Code:
[Quests] Unable to read perl file 'plugin.pl'
A quick strace showed me where it was looking for it and I was able to resolve it, but alas, that hasn't gotten me to connectability.

I'm assuming that I'm just missing some step somewhere, but...I don't know what I don't know haha. As before, any assistance is appreciated
Reply With Quote
  #4  
Old 08-10-2015, 07:38 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

Quote:
Originally Posted by Uleat View Post
I would post your config files with any login/WAN info redacted.


It almost looks like your zone launcher is connecting through localhost instead of your LAN address.

I run exclusively on localhost..so, I can't verify that atm.
Code:
[eq@eq-emu server]$ cat eqemu_config.xml 
<?xml version="1.0"?>
<server>
	<world>
		<shortname>floppie</shortname>
		<longname>Floppie's Server</longname>

		<!-- Only specify these two if you really think you need to.  (read: You don't) -->
		<!-- <address>some.server.com</address> -->
		<!-- <localaddress>192.168.0.5</localaddress> -->

		<!-- Loginserver information.  Defaults shown -->
		<loginserver>
			<host>login.eqemulator.net</host>
			<port>5998</port>
			<account></account>
			<password></password>
		</loginserver>

		<!-- Server status.  Default is unlocked -->
		<locked />

		<!-- Sets the ip/port for the tcp connections.  Both zones and console (if enabled).  Defaults are shown -->
		<tcp ip="127.0.0.1" port="33000" telnet="disable" />

		<!-- Sets the shared key used by zone/launcher to connect to world -->
		<key>REDACTED</key>

		<!-- Enable and set the port for the HTTP service.  Defaults are shown -->
		<http port="33080" enabled="true" mimefile="mime.types" />
	</world>

	<!-- Chatserver (channels) information.  Defaults shown -->
	<chatserver>
		<host>channels.eqemulator.net</host>
		<port>7778</port>
	</chatserver>

	<!-- Mailserver (in-game mail) information.  Defaults shown -->
	<mailserver>
		<host>channels.eqemulator.net</host>
		<port>7778</port>
	</mailserver>

	<zones>
		<defaultstatus>20</defaultstatus>

		<!-- Sets port range for world to use to auto configure zones -->
		<ports low="33100" high="33200" />
	</zones>

	<!-- Database configuration, replaces db.ini.  Defaults shown -->
	<database>
		<host>127.0.0.1</host>
		<port>3306</port>
		<username>REDACTED</username>
		<password>REDACTED</password>
		<db>REDACTED</db>
	</database>

	<qsdatabase>
		<host>127.0.0.1</host>
		<port>3306</port>
		<username>REDACTED</username>
		<password>REDACTED</password>
		<db>REDACTED</db>
	</qsdatabase>

	<!-- Launcher Configuration -->
	<launcher>
		<logprefix>logs/zone-</logprefix>
		<logsuffix>.log</logsuffix>
		<exe>./zone</exe>
		<timers initial="20000" interval="2000" restart="10000" reterminate="10000" />
	</launcher>

	<!-- File locations.  Defaults shown -->
	<files>
		<!-- <spells>spells_us.txt</spells> -->
		<!-- <opcodes>opcodes.conf</opcodes> -->
		<!-- <logsettings>log.ini</logsettings> -->
		<!-- <eqtime>eqtime.cfg</eqtime> -->
	</files>
	<!-- Directory locations.  Defaults shown -->
	<directories>
		<!-- <maps>Maps</maps> -->
		<!-- <quests>quests</quests> -->
		<!-- <plugins>plugins</plugins> -->
	</directories>
</server>
It is worth noting that world does still appear to be listening on UDP9000 (in addition to TCP33000 and TCP33080), but I've got that forwarded on my router as well.

Code:
[eq@eq-emu server]$ ss -l4pn | grep 'world\|zone'
udp    UNCONN     0      0                      *:9000                  *:*      users:(("world",32532,9))
udp    UNCONN     0      0                      *:33100                 *:*      users:(("zone",32585,13))
udp    UNCONN     0      0                      *:33101                 *:*      users:(("zone",32595,13))
udp    UNCONN     0      0                      *:33102                 *:*      users:(("zone",32601,13))
udp    UNCONN     0      0                      *:33103                 *:*      users:(("zone",32609,13))
udp    UNCONN     0      0                      *:33104                 *:*      users:(("zone",32615,13))
tcp    LISTEN     0      0                      *:33000                 *:*      users:(("world",32532,6))
tcp    LISTEN     0      0                      *:33080                 *:*      users:(("world",32532,5))
Everything that's listening is doing it on all interfaces, though. If the zone daemon(s) are talking to world over loopback, is that a problem or would it be fine? I'd think fine as long as it's talking out to the client over the real interface, which it seems to be based on a wireshark screenshot I can't seem to upload to imgur haha...but maybe I'm crazy and that is indeed a problem?
Reply With Quote
  #5  
Old 08-10-2015, 07:48 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Try changing this:
Code:
<tcp ip="127.0.0.1" port="33000" telnet="disable" />
to:

Code:
<tcp ip="192.168.0.5" port="33000" telnet="disable" />
and see where that takes you.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #6  
Old 08-10-2015, 07:58 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

I tried both with the box's actual IP, as well as 192.168.0.5 verbatim. The first yielded the same set of results (although logs clearly show it connecting over the ethernet interface rather than loopback); the second yielded "This zone is unavailable", which is about what I expected but figured was worth a shot

Just for fun, I also tried changing the port to 9000 since it seems to like that one (the UDP world server port seems to be non-configurable). Same results there as well.
Reply With Quote
  #7  
Old 08-10-2015, 08:08 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I did mean your box's actual IP..sorry about that.


Yeah, we have to use specific ports because the client is hard-coded to use those.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #8  
Old 08-10-2015, 08:09 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

I see. Makes perfect sense to me the pcap suggests that the client is indeed talking to the zone server (with quite a bit of chatter, in fact), but maybe it's pissed off about those ports regardless. I'll try the defaults.
Reply With Quote
  #9  
Old 08-10-2015, 08:13 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

Yup that resolved it in its entirety. I am now logged in with success. It collides port-wise with some other game servers I run, but I think those are all fully configurable, so I'll fuck them off of these ports.

Thanks!
Reply With Quote
  #10  
Old 08-10-2015, 08:39 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I saw that you were running perl 5.16.

I'm not sure what the linux guide recommends..but, if you run into perl issues beyond what you described (and fixed) earlier, post back
and see what others have done.

In the past, I've heard people say they don't have any problems with 5.16.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #11  
Old 08-10-2015, 08:43 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

That's what I got out of the OS's package repo. I've done the first few hails in the tutorial quest and so far so good. Will definitely post back if I have issues.
Reply With Quote
  #12  
Old 08-10-2015, 08:44 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

Hey btw, mostly off-topic...how does one use the database editor web interface? I set a hashed password in the peq_admin table, and just get an image after logging in that says "DON'T PANIC", with a green circle that has hands and an open mouth.
Reply With Quote
  #13  
Old 08-10-2015, 08:50 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Make sure you follow the instructions.
Reply With Quote
  #14  
Old 08-10-2015, 09:26 PM
Flopz
Fire Beetle
 
Join Date: May 2007
Posts: 13
Default

Turns out it was short_open_tags...if there were a way to make PHP a worse language, that's certainly it haha.
Reply With Quote
Reply


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 02:51 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3