PDA

View Full Version : Setting Up A Private Server


jimbop
01-04-2014, 01:30 PM
I need some direction on setting up a private server. So far, I have used five different guides, yet clients have not yet successfully been able to connect to the server. I have compiled source code just fine with no errors, uploaded all maps and quests fine with no errors, the server connects perfectly to the database with no errors, and I can notice nothing wrong initially with the server startup. I also made sure to modify eqhost.txt to read localhost:5598 since I have EQ Titanium installed. What are the best recommended guides to follow currently since it seems every guide is outdated in some form? I am growing highly frustrated piecing together bits and pieces from five different guides and dozens of posts on the message boards.

joligario
01-04-2014, 05:36 PM
With absolutely no idea of how you have things set up, we can only guess. It sounds like you built your server on your localhost and are trying to get people to connect remotely outside your network? If so, perhaps your port forwarding is not set up correctly. Again, we have no idea without any information.

P.S. I hope 5598 was your typo.

jimbop
01-04-2014, 09:21 PM
With absolutely no idea of how you have things set up, we can only guess. It sounds like you built your server on your localhost and are trying to get people to connect remotely outside your network? If so, perhaps your port forwarding is not set up correctly. Again, we have no idea without any information.

P.S. I hope 5598 was your typo.

Currently, I am only setting it up for myself on my own computer, so yes I am using localhost to set up the server. I checked and double checked again that 5598 is indeed not a typo. I am running Windows 7 Pro 64-bit edition. I have set up my own private server once before on an older computer and had no problems whatsoever, but it was on a very old build on a crashed hard drive so I cannot just go back to that one and update it unfortunately. Also that computer, I used minilogin, so my setup from that one to the current is slightly different.

I guess where to start, I will detail all the steps I have taken. FIrst, I went through all of the steps on the February 2013 version here:

http://www.eqemulator.net/wiki/wikka.php?wakka=WindowsServerSetupGuide

At the end, it pointed to a post regarding setting up a private individual computer server here:

http://www.eqemulator.org/forums/showpost.php?p=220659&postcount=14

I went through each of these steps once, then twice once the first setup failed to connect, and it all was a no-go. Next, I read through the entire thread regarding this specific 2013 install with no luck in all the tips mentioned within. After that all failed, I went to another post and tried to mix-and-match different install ideas from here:

http://www.eqemulator.net/wiki/wikka.php?wakka=WindowsServerSetupGuide

When all my tweaks failed, I started over from scratch again. I tried instead a setup I found on the Github site found here:

https://github.com/EQEmu/Server/wiki/PEQ-Setup-using-XAMPP

I have gone through this setup twice as well and it still fails to function for me. I am far from a newbie when it comes to computers and have exhausted a week and a half of troubleshooting trying to get this to function. I am sure if I work on it long enough, I can get it, but why frustrate myself if I can get any pointers where something is going awry?

Although one thing that did just come to my mind...due to my schooling, I have the full professional version of Visual Studio 2012 and have been using that to handle my compiling. I have received no errors in my compiling and everything seems to have worked fine. That being said, is there anything in the code which would not compile in 2012 as opposed to 2013? I have coded a lot in both 2010 and 2012, but since I graduated in May have yet to play around with coding in 2013.

Noport
01-04-2014, 09:30 PM
Setting up for hosting a private server reference
http://www.eqemulator.org/forums/showthread.php?t=35057

joligario
01-04-2014, 09:39 PM
... I checked and double checked again that 5598 is indeed not a typo ...
That is too bad because you should be using and listening on 5998 for Titanium.

Of all the guides you used, I don't know what "no-gos" and "fails" you run into, so I won't even address them. Since I wrote the last guide you linked, I will start there.

2012 vs 2013 doesn't matter. There are very few differences that won't affect your ability to compile this code. Post your errors, post your logs, post your config files, post... anything that can help us help you.

jimbop
01-06-2014, 12:22 AM
That is too bad because you should be using and listening on 5998 for Titanium.

Of all the guides you used, I don't know what "no-gos" and "fails" you run into, so I won't even address them. Since I wrote the last guide you linked, I will start there.

2012 vs 2013 doesn't matter. There are very few differences that won't affect your ability to compile this code. Post your errors, post your logs, post your config files, post... anything that can help us help you.

Sorry. 5598 was a typo in my post. Lol. It does indeed say 5998 in eqhost.txt like it is supposed to. Here is what I did find, however, when I looked at the logs for my login server:

[Debug] [01.05.14 - 23:18:26] Logging System Init.
[Debug] [01.05.14 - 23:18:26] Config System Init.
[Debug] [01.05.14 - 23:18:26] MySQL Database Init.
[Debug] [01.05.14 - 23:18:26] Encryption Initialize.
[Error] [01.05.14 - 23:18:26] Failed to load EQEmuAuthCrypto from the operating system.
[Error] [01.05.14 - 23:18:26] Encryption Failed to Load.
[Debug] [01.05.14 - 23:18:26] Database System Shutdown.
[Debug] [01.05.14 - 23:18:26] Config System Shutdown.
[Debug] [01.05.14 - 23:18:26] Log System Shutdown.


All of the other logs loaded in like they were supposed to except the one for login, which gave the error stated here. Any help as to how to fix this error? I have EQEmuAuthCrypto.dll sitting in my server folder like it should be, but apparently it does not recognize the file is actually present.

*Edit* As of note, I rechecked that I used the correct x64 bit version needed for my OS and this failed to produce any change in my error.

jimbop
01-06-2014, 12:24 AM
Setting up for hosting a private server reference
http://www.eqemulator.org/forums/showthread.php?t=35057

Thank you also for your input. One of the first things I did after I compiled and went to start up the server for the first time is went into my firewall program to make an exception to open up port 5998 to allow for connections, so I know the firewall currently is not stopping the connection.

jimbop
01-09-2014, 01:17 PM
I am still stuck at this spot unfortunately. Does anyone have any ideas for me on how to correct this?

joligario
01-09-2014, 03:09 PM
Are you sure you have the full dll? Perhaps your antivirus or something else stopped the download.

jimbop
01-11-2014, 01:00 PM
Are you sure you have the full dll? Perhaps your antivirus or something else stopped the download.

My time has been short this week, so I only just got to checking this now. I have verified again with two more downloads that this must not be the problem. My login.ini file looks like this:

[database]
host = 127.0.0.1
port = 3306
db = xxxxxxxxxx
user = xxxxxxxxx
password = xxxxxxxxxx
subsystem = MySQL

[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = TRUE
world_trace = FALSE
dump_packets_in = FALSE
dump_packets_out = FALSE
listen_port = 5998
local_network = 192.168.1.

[security]
plugin = EQEmuAuthCrypto
mode = 5


[Titanium]
port = 5998
opcodes = login_opcodes.conf

[SoD]
port = 5999
opcodes = login_opcodes_sod.conf

[schema]
account_table = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType

As far as I can tell, this file looks like it should look. Here is what my eqemu_config.xml file looks like:

<?xml version="1.0"?>
<server>
<world>
<shortname>NameOfServer</shortname>
<longname>ShortNameOfServer</longname>

<!-- Only specify these two if you really think you need to. (read: You don't) -->
<!-- <address>example.dyndns.org</address> -->
<!-- <localaddress>192.168.0.100</localaddress> -->

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

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

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

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

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

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

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

<zones>
<defaultstatus>0</defaultstatus>

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

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

<!-- Queryserv Database configuration -->
<qsdatabase>
<host>127.0.0.1</host>
<port>3306</port>
<username>xxxxxxx</username>
<password>xxxxxxx</password>
<db>xxxxxxx</db>
</qsdatabase>

<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers 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>

As of note, where xxxxxxxxx is in both quotes is where my passwords and login names are. Is there anything else I should pull up? I do not see what else I can modify to make the login server to see that I have EQEmuAuthCrypto.dll in my server folder.

Uleat
01-11-2014, 01:30 PM
Try changing your login.ini 'local_network' to 127.0.0.

Currently, it doesn't match where the eqemu_config value is telling the world server where to look.

jimbop
01-11-2014, 10:17 PM
Try changing your login.ini 'local_network' to 127.0.0.

Currently, it doesn't match where the eqemu_config value is telling the world server where to look.

Doing this now gives me this error:

[Debug] [01.11.14 - 21:15:58] Logging System Init.
[Debug] [01.11.14 - 21:15:58] Config System Init.
[Debug] [01.11.14 - 21:15:58] MySQL Database Init.
[Database] [01.11.14 - 21:16:00] Failed to connect to MySQL database. Error: Unknown MySQL server host '127.0.0' (0)


At least it is doing something different. Progress is progress after all. Lol.

demonstar55
01-11-2014, 10:41 PM
127.0.0 was a typo, he meant 127.0.0.1

Uleat
01-11-2014, 11:05 PM
Yeah, if you got a mysql error, you may have changed the [database] 'host' to '127.0.0'. That definitely needs to be '127.0.0.1'.

Under [options] (in login.ini), change the last entry 'local_network' to '127.0.0.' and see if that works.

jimbop
01-12-2014, 12:16 AM
[database]
host = 127.0.0.1
port = 3306
db =
user =
password =
subsystem = MySQL

[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = TRUE
world_trace = FALSE
dump_packets_in = FALSE
dump_packets_out = FALSE
listen_port = 5998
local_network = 127.0.0.

[security]
plugin = EQEmuAuthCrypto
mode = 5


[Titanium]
port = 5998
opcodes = login_opcodes.conf

[SoD]
port = 5999
opcodes = login_opcodes_sod.conf

[schema]
account_table = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType

When the login.ini file looks this way, I still get this error:

[Debug] [01.11.14 - 23:10:51] Logging System Init.
[Debug] [01.11.14 - 23:10:51] Config System Init.
[Debug] [01.11.14 - 23:10:51] MySQL Database Init.
[Debug] [01.11.14 - 23:10:51] Encryption Initialize.
[Error] [01.11.14 - 23:10:51] Failed to load EQEmuAuthCrypto from the operating system.
[Error] [01.11.14 - 23:10:51] Encryption Failed to Load.
[Debug] [01.11.14 - 23:10:51] Database System Shutdown.
[Debug] [01.11.14 - 23:10:51] Config System Shutdown.
[Debug] [01.11.14 - 23:10:51] Log System Shutdown.


I have also tried going into my router and port forwarding back to my PC's network IP address (I have this set up for remote desktop to be static already) which also does not work to connect this up.

lerxst2112
01-12-2014, 01:09 AM
Failed to load EQEmuAuthCrypto from the operating system.

Is the encryption DLL in the same directory as the login server?

jimbop
01-12-2014, 08:43 PM
Failed to load EQEmuAuthCrypto from the operating system.

Is the encryption DLL in the same directory as the login server?

Yes it is in the same directory as the server.

jimbop
01-13-2014, 02:09 AM
I managed to find the problem. Even though I run a 64 bit operating system, the login server would not accept the x64 EQEmuAuthCrypto. Once I put in the x86 version, I got right past that spot. Days and days worth of frustration along with reinstalling the entire process 4 times over, and this is the only thing I had to do differently. *facepalm*

sorvani
01-13-2014, 04:27 AM
It does not matter whether your system is 64 or 32. It matters that everything matches how you compiled

Uleat
01-13-2014, 10:24 PM
jimbop,

The reason I had you change the 'local_network' setting was due to you saying your eqhost.txt was setup to use 'localhost:5998'

If you have trouble logging in your client, after getting the server working, you may want to replace 'localhost' with '127.0.0.1'


If you end up switching to a lan/wan server, you'll have to switch both of those back to the '192.168.xx.' address of your lan node.