View Full Version : Adventure! Personal server open to external ips.
dracir
12-08-2017, 05:02 AM
Hey. I have had a lot of fun lately. I tested my private server and it ran great.
My next adventure, if you care to join, is to allow friends in different houses to connect.
In other words. Opening up my personal server to external IP's.
Here is my todo list:
------------------------------------------------------------------
COLLECTION OF IP'S
192.#.#.# private ip
174.#.#.# public ip
default gateway 192.#.#.#
Localhost
127.0.0.1??? Localaddress?
USE AS GUIDE
Www.eqemulator.org/forums/showthread.php?t=35057
PORTS USED
Tcp/UDP
7000-7800
9000-9100
3306
5998-5999
CHECKLIST
[ ] Make sure it's set to public server in peq database
[ ]Verify firewall has ports open(figure out how to do that)
[ ] figure out how to open router ports correctly
[ ] Figure out which IP address goes where while updating files.
-->Update: login.ini
-->Update: eqemu_config.xml
[ ]Shoot some troubles.
---------------------------------------------------------------------------
Feel free to shout encouraging things at me. Maybe toss a tip of two. I'll try and keep this updated as I go. More info for others I suppose.
I have no idea what I'm doing, fyi. I'm working off a fresh install with akka's wiki guide.
http://wiki.eqemulator.org/p?Akkas_PEQ_Server_Installer&frm=Main
---------------------------------------------------------------------------
Private IP = [cmd] C:/Users/JaneDoe>ipconfig = IPv4 address
Public IP = google "What is my ip" = instantly lists your public IP
~~I dont think the default gateway is used in anything. I just figured i would add it to the list anyway
COLOR CODING:
Magenta = Questions I have.
Red = (instructional) IP's that need to be set or rearranged.
Yellow = Ports. Static. Unchanging. These indicate a few of the ports used, and must be opened to external interaction.
dracir
12-08-2017, 08:17 PM
Files(Of course remove the [brackets] and fill in with the correct information)
eqemu_Config.xml
<?xml version="1.0">
<server>
<world>
<shortname>Avaria</shortname>
<longname>Vesper Chronicles</longname>
<address>[Private IP]</address>
<!--<loginserver1>
<legacy>1</legacy>
<host>login.eqemulator.net</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver1>-->
<loginserver1>
<host>[Private IP]</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver1>
<tcp ip="[private ip]" port="9001"/>
<telnet ip="0.0.0.0" port="9000" enabled="true"/>
<key>[Bunch of numbers and letters]</key>
<http port="9080" enabled="true" mimefile="mime.types" />
</world>
<chatserver>
<host></host>
<port>7500</port>
</chatserver>
<mailserver>
<host></host>
<port>7500</port>
</mailserver>
<zones>
<defaultstatus>0</defaultstatus>
<ports low="7000" high="7400"/>
</zones>
<database>
<host>[localhost]</host>
<port>3306</port>
<username>root</username>
<password>eqemu</password>
<db>peq</db>
</database>
<qsdatabase>
<host>[localhost]</host>
<port>3306</port>
<username>root</username>
<password>eqemu</password>
<db>peq</db>
</qsdatabase>
<webinterface>
<port>9081</port>
</webinterface>
<launcher>
</launcher>
<files>
</files>
<directories>
</directories>
</server>
~~TCP IP---was set to [127.0.0.1] I wasn't sure if this was an external ip. So i changed it to my private ip and it seems to work. This ip is what the zones are initialized on if i remember correctiy.
Login.ini
[database]
host = [localhost]
port = 3306
db = peq
user = root
password = eqemu
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 = [private IP]
auto_create_accounts = TRUE
[security]
plugin = EQEmuAuthCrypto
mode = 5
[Titanium]
port = 5998
opcodes = login_opcodes.conf
[SoD]
port = 5999
opcodes = login_opcodes_sod.conf
[schema]
account_table = loginserver_server_accounts
world_registration_table = loginserver_world_server_registration
world_admin_registration_table = loginserver_server_admin_registration
world_server_type_table = loginserver_server_list_type
Ports displayed in use with the files.
IP's that need to be configured properly to support external IP.
Currently. This exact setup, after changing the bracketed areas to respective IP, is working for my local server. Only accepting internal IP's.
dracir
12-08-2017, 08:25 PM
https://imgur.com/9Si7u2F
https://imgur.com/9Si7u2F
This is my port forwarding screen. Currently on my router, i have no port forwarding options set.
To allow external IP's i am pretty sure i need to set the ones that the applications are using.
Is it as simple as just adding them like shown in the picture?
--------------------------------------------
Still unsure about opening up firewall ports. Or if its necessary. I did find a link if i end up having to do this. Would love some feedback on this as well.
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-a-windows-firewall-for-database-engine-access
Nerdgasm
12-08-2017, 09:48 PM
https://imgur.com/9Si7u2F
https://imgur.com/9Si7u2F
This is my port forwarding screen. Currently on my router, i have no port forwarding options set.
To allow external IP's i am pretty sure i need to set the ones that the applications are using.
Is it as simple as just adding them like shown in the picture?
--------------------------------------------
Still unsure about opening up firewall ports. Or if its necessary. I did find a link if i end up having to do this. Would love some feedback on this as well.
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-a-windows-firewall-for-database-engine-access
Yes. It's literally that simple mate. =) If you need further help you can skype me and I can help you. -- Sinclipse is the user name.
dracir
12-08-2017, 10:14 PM
Thanks for the reply. I set up ports on router.
Using the firewall guide I found that the akkas installer already opened firewall ports.
Now. I opened router ports for my private IP.
I am unable to connect from Neighbors Wifi(ie external IP) still. - I am able to connect through internally loggin into my wifi.
Do I need to open firewall ports on the other client computer as well?
Eqhost.txt is set to private IP*
and
Secondly, I believe I need to change some IP around in my configuration. Doing something with public IP, correct?
~~I added localaddress ~ 127.0.0.1
That was the only real difference between IP config setups listed in the earlier forum post. Still not working.
EDIT: I don't see any outbound firewall ports open. Should i set those as well?
Nerdgasm
12-09-2017, 02:55 AM
Thanks for the reply. I set up ports on router.
Using the firewall guide I found that the akkas installer already opened firewall ports.
Now. I opened router ports for my private IP.
I am unable to connect from Neighbors Wifi(ie external IP) still. - I am able to connect through internally loggin into my wifi.
Do I need to open firewall ports on the other client computer as well?
Eqhost.txt is set to private IP*
and
Secondly, I believe I need to change some IP around in my configuration. Doing something with public IP, correct?
~~I added localaddress ~ 127.0.0.1
That was the only real difference between IP config setups listed in the earlier forum post. Still not working.
EDIT: I don't see any outbound firewall ports open. Should i set those as well?
Add me on Skype, it's easier to help you that way mate. =) Or you can join my discord server and I'll help ya https://discord.gg/Y22Dp6
dracir
12-10-2017, 12:49 AM
SO CLOSE! Akkas Installer - setting up private login server for external IP
I got the server running for external users(able to login and play) using the config below. I ran into a major issue with this setup though. I am unable to login locally now. It probably has to do with not being able to directly ping my Public IP. I'm so close! Could use some guidance.
-->External Users Connect, setting thier eqhost to my publicIP.
-->I am just unable to login to servers locally with that setup in eqhost. When i set eqhost to my privateIP. I get to server select and see the server. World.exe registers them logging into character select. moments later. back to server select with error 1017: loss connection.
<?xml version="1.0">
<server>
<world>
<shortname>Avaria</shortname>
<longname>Vesper Chronicles</longname>
<address>[Public IP]</address><!--This use to display Private IP. Now it is using Public IP-->
<loginserver1>
<host>[Public IP]</host><!--This use to be commented out. For some reason. I am unable to connect externally if i do not have both public and private login servers running-->
<port>5998</port>
<account></account>
<password></password>
</loginserver1>
<loginserver2>
<host>[Private IP]</host><!--no change-->
<port>5998</port>
<account></account>
<password></password>
</loginserver2>
<tcp ip="[private ip]" port="9001"/><!--This can also be 127.0.0.1, i have changed it back to this.-->
<telnet ip="0.0.0.0" port="9000" enabled="true"/>
<key>[Bunch of numbers and letters]</key>
<http port="9080" enabled="true" mimefile="mime.types" />
</world>
<chatserver>
<host></host>
<port>7500</port>
</chatserver>
<mailserver>
<host></host>
<port>7500</port>
</mailserver>
<zones>
<defaultstatus>0</defaultstatus>
<ports low="7000" high="7400"/>
</zones>
<database>
<host>[localhost]</host>
<port>3306</port>
<username>root</username>
<password>eqemu</password>
<db>peq</db>
</database>
<qsdatabase>
<host>[localhost]</host>
<port>3306</port>
<username>root</username>
<password>eqemu</password>
<db>peq</db>
</qsdatabase>
<webinterface>
<port>9081</port>
</webinterface>
<launcher>
</launcher>
<files>
</files>
<directories>
</directories>
</server>
Other than that, I haven't changed anything. Like i said above. Finally i am able to have others connect to my game servers and play. I just can't connect locally. Changing the <address> field to my local IP allows me to login locally, but then removes the ability to login externally.
dracir
12-10-2017, 01:57 AM
LATE NIGHT THEORY: It works without using [public IP] for the EqEmu's public hosting service(i can connect locally and externally). So, to me that means that there is somethig in Akkas installer that is hardcoded to redirect from thier IP. Or the EqEmu public hosting routing redirects it for us.
Are you trying to ping your public address from within your network? That requires the router perform loopback. Most home routers do not support that, so you cannot ping your own IP address from within the local network connected to that address.
-->[ 1 ] Find a way to allow my router to perform a loopback. Letting me connect to my Public IP.
OR
If you are trying to ping computer to computer here is why it will not work. Your linksys routers get a routable ip address from the broadband provider. They (by default) hand out private addresses in the 192.168.1.x range to each computer that requests one. The 192.168.x.x, 10.0.0.0 and 172.16.0.0-172.31.255.255 are RFC 1918 Private address space. These addresses are not routed across the internet. They are for internal use only.
-->[ 2 ] Find a way to redirect users from my public IP to my private IP - and set <address> back to private IP</address>
-->[ 3 ] Find a way to run two seperate server <address>es, with one database. So i can have both ways working.
-->[ 4 ] Find out a simpler way of doing all this. And do that instead.
I like option one. Because it actually seems like something i could figure out in about a week. The other things. I just don't have the expertise to figure out. I'm sure option 2 is doable. Option 3 would run into so many different issues i don't even know why i added it. Option 4 probably ties into option 2.
Please help my poor soul Gods of EQEmu.
Sources:
(random sites, just figured i would list them - no idea if they are safe sites or not)
http://www.dslreports.com/forum/r13294939-Other-can-t-ping-public-IP
https://arstechnica.com/civis/viewtopic.php?f=10&t=496690
The_Beast
12-10-2017, 07:37 AM
<loginserver1>
<legacy>1</legacy> <---- Make sure this is in there
<host>public</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver1>
<loginserver2>
<legacy>0</legacy> <---- Make sure this is in there
<host>private</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver2>
dracir
12-10-2017, 11:21 AM
Thanks The_Beast! Appreciate the input. I updated the code. No effect. I decided to set them both to <legacy>1</legacy>. It removed the server from the list - hah.
I can see the servers on both lists; set the way you explained (or while legacy is unset). I get the 1017 error being on the same network with code set as <address>Public</address>.
If there is anyone using Akkas Installer - with a server setup publicly through your personal IP - I would love to see your configuration files. :D Maybe there is something special i need to do to my router besides port forwarding. Or setup outbound firewall rules. Akkas installer only presets inbound firewall rules.
You can get multiple external addresses, but it will cost. Ask your ISP sales dept.
i found out i could get a second public IP from my ISP. but that costs something. :( I guess that will be my last resort.
Sources:
http://www.tomshardware.com/answers/id-1673797/external-address-network.html
Uleat
12-10-2017, 12:03 PM
I always tell people to use this format for their login.ini:
local_network = xx.xx.xx.
..rather than:
local_network = xx.xx.xx.xx
..or:
local_network = xx.xx.xx
Not sure what is the absolute correct method..but, that goes back to one of Huppy's install guides.
dracir
12-10-2017, 12:11 PM
I always tell people to use this format for their login.ini:
local_network = xx.xx.xx.
..rather than:
local_network = xx.xx.xx.xx
..or:
local_network = xx.xx.xx
Not sure what is the absolute correct method..but, that goes back to one of Huppy's install guides.
OMG you beautiful beatiful snowflake you.
That did it.
I could kiss you.
local_network = xx.xx.xx.
is the correct format for login.ini
Maze_EQ
12-12-2017, 05:20 PM
Probably should be in the support forum....tbh
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.