PDA

View Full Version : Installing a server on Debian Linux (trying)


Xelaan
05-18-2009, 10:24 AM
Hi,

Sorry if some of this has been addressed elsewhere, I have search around the forums and didn't see what I was looking for. I am (trying) building a EQEmulator server on debian linux. I am only using this as a server no client running on it.

I am installing EQEmu on Debian (I understand that is the preferred OS for support around here) :-). I am following the Wiki for Debian install. The switch to SVN seems to have happened after the guide was written so I sort of fell into the wind during my install. I installed the source from the SVN and complied it. I created the symbolic links to the needed files in my server directory. I have MySQL installed. I downloaded the peq database using SVN and the peq quests using SVN. I loaded the database into MySQL.

I copied the quests into my eqemu server directory.

I am lost with maps is there an SVN for those? I have found a number of links and I am not sure which one is the current versions. Once I get them do I simply copy them into the maps directory under EqEmu?

I know i need to modify my eqemu_config.xml file. If I wanted to create a private server (for the moment) do i simply change the short and long names and the ip addresses? (I would like the server accessible from both inside and outside my network (I have set the port forwarding on my router to this server).

Finally, how do I start the server so clients can connect, create accounts, and play. Are the three scripts in the Debian Wiki the correct way to run things these days?

I have read about Minilogin, I assume I will need to install and run this to connect clients as well but the Wiki didn't mention it so i was not certain.

Any help is appreciated, and again sorry if I am duplicating questions.

Jim

Xelaan
05-18-2009, 11:33 AM
Update - Got my world server running. It launched 5 dynamic zones . It is using the eqemulator.net login server or so it appears. I am fine with running a public server (was a long term goal anyways). :-)

I am still lost about what maps files I need to put in my server/Maps directory.

Do I need to register my server with the eqemulator.net site for people to access it?

Once my server is on eqemulator all I need to do is point my eqhosts.txt in my EQ Titanium directory at eqemulator.net:5998?

I assume I need to create an account for me there as well right? :-)

29259 [05.18. - 11:16:49] [NET__IDENTIFY] Registered patch 6.2
29259 [05.18. - 11:16:49] [NET__IDENTIFY] Registered patch Titanium
29259 [05.18. - 11:16:49] [NET__IDENTIFY] Registered patch SoF
29259 [05.18. - 11:16:49] [WORLD__LS] Connecting to login server...
29259 [05.18. - 11:16:49] [COMMON__THREADS] Starting TCPConnectionLoop with thread ID -1310434416
29259 [05.18. - 11:16:49] [WORLD__LS] Connected to Loginserver: eqemulator.net:5998
29259 [05.18. - 11:16:49] [WORLD__LS] Loginserver provided 98.221.225.0 as world address
29259 [05.18. - 11:16:58] [WORLD__ZONE] New TCP connection from 127.0.0.1:52814
29259 [05.18. - 11:16:58] [WORLD__CONSOLE] New launcher from 127.0.0.1:52814
29259 [05.18. - 11:16:58] [WORLD__LAUNCH] Adding pending launcher 1
29259 [05.18. - 11:16:58] [WORLD__LAUNCH] Launcher Identified itself as 'zone'. Loading zone list.
29259 [05.18. - 11:16:58] [WORLD__LAUNCH] Removing pending launcher 1. Adding zone to active list.
29259 [05.18. - 11:17:03] [WORLD__LAUNCH] zone: dynamic_01 reported state STARTED (1 starts)
29259 [05.18. - 11:17:23] [WORLD__LAUNCH] zone: dynamic_02 reported state STARTED (1 starts)
29259 [05.18. - 11:17:25] [WORLD__LAUNCH] zone: dynamic_03 reported state STARTED (1 starts)
29259 [05.18. - 11:17:29] [WORLD__LAUNCH] zone: dynamic_04 reported state STARTED (1 starts)
29259 [05.18. - 11:17:31] [WORLD__LAUNCH] zone: dynamic_05 reported state STARTED (1 starts)
29259 [05.18. - 11:17:46] [WORLD__ZONE] New TCP connection from 127.0.0.1:52815
29259 [05.18. - 11:17:46] [WORLD__ZONE] New TCP connection from 127.0.0.1:52816
29259 [05.18. - 11:17:46] [WORLD__ZONE] New TCP connection from 127.0.0.1:52817
29259 [05.18. - 11:17:46] [WORLD__CONSOLE] New zoneserver #1 from 127.0.0.1:52817
29259 [05.18. - 11:17:46] [WORLD__CONSOLE] New zoneserver #2 from 127.0.0.1:52816
29259 [05.18. - 11:17:46] [WORLD__CONSOLE] New zoneserver #3 from 127.0.0.1:52815
29259 [05.18. - 11:17:46] [WORLD__ZONE] [3] Zone started with name dynamic_02 by launcher zone
29259 [05.18. - 11:17:46] [WORLD__ZONE] [3] Auto zone port configuration. Telling zone to use port 7000
29259 [05.18. - 11:17:46] [WORLD__ZONE] [2] Zone started with name dynamic_01 by launcher zone
29259 [05.18. - 11:17:46] [WORLD__ZONE] [2] Auto zone port configuration. Telling zone to use port 7001
29259 [05.18. - 11:17:46] [WORLD__ZONE] [1] Zone started with name dynamic_03 by launcher zone
29259 [05.18. - 11:17:46] [WORLD__ZONE] [1] Auto zone port configuration. Telling zone to use port 7002
29259 [05.18. - 11:17:48] [WORLD__ZONE] New TCP connection from 127.0.0.1:52818
29259 [05.18. - 11:17:48] [WORLD__CONSOLE] New zoneserver #4 from 127.0.0.1:52818
29259 [05.18. - 11:17:48] [WORLD__ZONE] [4] Zone started with name dynamic_04 by launcher zone
29259 [05.18. - 11:17:48] [WORLD__ZONE] [4] Auto zone port configuration. Telling zone to use port 7003
29259 [05.18. - 11:17:49] [WORLD__ZONE] New TCP connection from 127.0.0.1:52819
29259 [05.18. - 11:17:49] [WORLD__CONSOLE] New zoneserver #5 from 127.0.0.1:52819
29259 [05.18. - 11:17:49] [WORLD__ZONE] [5] Zone started with name dynamic_05 by launcher zone
29259 [05.18. - 11:17:49] [WORLD__ZONE] [5] Auto zone port configuration. Telling zone to use port 7004
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] Caught signal 15
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] World main loop completed.
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] Shutting down console connections (if any).
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] Shutting down zone connections (if any).
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] Zone (TCP) listener stopped.
29259 [05.18. - 11:19:39] [COMMON__THREADS] Ending TCPServerLoop with thread ID -1215190128
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] Client (UDP) listener stopped.
29259 [05.18. - 11:19:39] [COMMON__THREADS] Ending EQStreamFactoryWriterLoop with thread ID -1293501552
29259 [05.18. - 11:19:39] [WORLD__SHUTDOWN] Signaling HTTP service to stop...
29259 [05.18. - 11:19:39] [WORLD__HTTP] Requesting that HTTP Service stop.
29259 [05.18. - 11:19:39] [COMMON__THREADS] Ending TCPServerLoop with thread ID -1223582832
29259 [05.18. - 11:19:39] [COMMON__THREADS] Ending TCPConnectionLoop with thread ID -1310434416

Xelaan
05-18-2009, 03:06 PM
ok,

I loaded the Maps from the Debian Wiki into the Maps directory on my server.

I can bring my client up and see the Server listed on the eqemulator.net login server. (New Firiona Vie)

I have connected to it and created a character on my server. I checked the DB and everything created correctly.

I tried to logon to the server and I am getting a Zone not available error. When I looked in my logs I have an Error #1054 listed below. I think I am pretty close to operational. I am now pretty stuck though. This error is a bit beyond my ability to debug and work around. Any help is appreciated.

Error in instZOrgID query in database.cpp GetZoneName'SELECT instZOrgID FROM character_ WHERE instZflagNum=77' #1054: Unknown column 'instZOrgID' in 'field list'
Error in GetInstType query 'SELECT instZOrgID FROM character_ WHERE id=1' #1054: Unknown column 'instZOrgID' in 'field list'
Error in instZOrgID query in database.cpp GetZoneName'SELECT instZOrgID FROM character_ WHERE instZflagNum=77' #1054: Unknown column 'instZOrgID' in 'field list'


As listed above I downloaded and compiled everything today 5-19-2009 from the SVN. I also installed the DB from the SVN located at http://projecteqdb.googlecode.com/svn/trunk/

leslamarch
05-18-2009, 04:26 PM
Make sure to use the updates in the update folder... I think the latest PEQ also is using the branch of the SVN

Derision
05-18-2009, 04:39 PM
http://eqemulator.net/forums/showthread.php?t=28255&highlight=instzorgid

You could try to add the removed columns back to your DB

ALTER table character_ ADD column `instZflagNum` int(10) unsigned NOT NULL default '0';
ALTER table character_ ADD column `instZOrgID` int(11) NOT NULL default '0';

Xelaan
05-18-2009, 05:07 PM
I think it is getting close now. I ran the queries above and added those fields back into the character_ table.

My friend just tried to logon while I watched the logs, this is the log entries from the eqemu_debug_world.log

29921 [05.18. - 16:54:12] [WORLD__CLIENT] Connection 67.82.63.141 PASSED banned IPs check. Processing connection.
29921 [05.18. - 16:54:12] [WORLD__CLIENT] Koloth: Logged in. Mode=(CharSel)
29921 [05.18. - 16:54:12] [WORLD__CLIENT] Koloth: LS Account #132210
29921 [05.18. - 16:54:21] [WORLD__CLIENT] NOCLE: Client disconnected (not active in process)
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Name approval request. Name=Sarus, race=Human, class=Monk
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Character creation request from Koloth LS#132210 (67.82.63.141:59639) :
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Name: Sarus
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Race: 1 Class: 7 Gender: 0 Deity: 210 Start zone: 4
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: STR STA AGI DEX WIS INT CHA Total
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: 85 85 90 90 75 75 75 575
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Face: 7 Eye colors: 3 3
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Hairstyle: 1 Haircolor: 17
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Beard: 255 Beardcolor: 255
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Validating char creation info...
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Found 0 errors in character creation request
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Current location: (null) -807.00, -239.00, -10.25
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Bind location: (null) -807.00, -239.00, -10.25
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Character creation successful: Sarus
29921 [05.18. - 16:55:25] [WORLD__CLIENT_ERR] Koloth: Zone not found in database zone_id=189, moveing char to arena character:Sarus
29921 [05.18. - 16:55:25] [WORLD__CLIENT] Koloth: Entering zone (null) (189)


It seems to be having trouble finding the zone still. At least it no longer had the 1054 error. But still cannot logon.

Derision
05-18-2009, 05:14 PM
Looking back through the SQL changes, this looks like it may also be needed for the old instancing system:

ALTER TABLE `zone` ADD column `insttype` tinyint (1) zerofill unsigned NOT NULL default '0';


And:

INSERT INTO variables VALUES ('curInstFlagNum', 2000, 'Determines what instance flag will be handed out next', '2008-09-05 04:46:47');
INSERT INTO variables VALUES ('dfltInstZflag',1000, 'Used to determine if a zone is instanced, must be 1000 or greater', '2008-09-05 04:46:47');

Xelaan
05-18-2009, 05:18 PM
That was already in the DB in the zone table. So I couldn't add it. It seems to be having trouble finding any zone. The zone tables are populated though, I can see the data.

Xelaan
05-18-2009, 05:25 PM
The problem seems to be in the zones somehow.

30055 [05.18. - 17:12:35] [WORLD__CLIENT_ERR] Koloth: Zone not found in database zone_id=189, moveing char to arena character:Yunashen
30055 [05.18. - 17:12:35] [WORLD__CLIENT] Koloth: Attempting autobootup of (null) (189)

Derision
05-18-2009, 05:31 PM
I edited my post to reflect a couple of variable table entries. If that doesn't work, I give up :(

leslamarch
05-18-2009, 05:33 PM
if Derisions last edit does not work for you, the stock PEQ DB works just fine if you compile the branch instead of the trunk... Quick solution instead of tracking done all of the missed updates.

Xelaan
05-18-2009, 08:07 PM
I have it working now. I added in Derisions SQL and then I loaded a different set of maps. I had used the maps listed in the wiki initially and just changed it out with the SVN http://code.google.com/p/eqemumaps/

Once I loaded the new maps everything started working, I assume either there was a missing map, or a corrupt map in the tarball listed in the wiki.

New Firiona Vie is now active on a dedicated Debian server and available through the eqemluator public login server. I am running an unmodified peq db (although I may make some minor changes as time progresses).

Thank you for all the help. I really appreciate the effort and I hope I will be able to provide some assistance back to others as I become more familiar with the system. :-)

KingMort
05-19-2009, 10:39 PM
This post should help out since we have just switched to Debian on a brand new dedicated.. Glad you got it figured out for the most part..

If I find any tips or help I will let you know..

King
www.raidaddicts.org

Xelaan
05-20-2009, 09:56 AM
Thanks, any tips are appreciatted. :-)

It has been running steady since my last post, no reboots or shutdowns. Things seem pretty stable.

WillowyLady
05-20-2009, 10:51 AM
Looking back through the SQL changes, this looks like it may also be needed for the old instancing system:

ALTER TABLE `zone` ADD column `insttype` tinyint (1) zerofill unsigned NOT NULL default '0';
And:

INSERT INTO variables VALUES ('curInstFlagNum', 2000, 'Determines what instance flag will be handed out next', '2008-09-05 04:46:47');
INSERT INTO variables VALUES ('dfltInstZflag',1000, 'Used to determine if a zone is instanced, must be 1000 or greater', '2008-09-05 04:46:47');


Thanks Der, that cured the zone missing issue I had since updating to rev535.

Cheers.

Now that I know how to cure that one, will update binaries from SVN and hope it still works, if not at least can revert!

:D