This is what I am presently using for a couple friends to log in from their homes. As Maze suggested, check open ports.
Code:
<?xml version="1.0"?>
<server>
<world>
<shortname>servername</shortname>
<longname>Server Name</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>xx.xx.xx.xx</address> <!-- EXTERNAL IP -->
<localaddress>127.0.0.1</localaddress>
<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>127.0.0.1</host>
<port>5999</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>somestupidstringofcharacters</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="7500"/>
</zones>
<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>127.0.0.1</host>
<port>3306</port>
<username>*****</username>
<password>******</password>
<db>peq***whatever</db>
</database>
<qsdatabase>
<host>127.0.0.1</host>
<port>3306</port>
<username>*****</username>
<password>******</password>
<db>peq***whatever</db>
</qsdatabase>
<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>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> -->
<!-- <plugin.pl>plugin.pl</plugin.pl> -->
</files>
<!-- Directory locations. Defaults shown -->
<directories>
<!-- <maps>maps/</maps> -->
<!-- <quests>quests/</quests> -->
<!-- <plugins>plugins/</plugins> -->
<!-- <lua_modules>lua_modules/</lua_modules> -->
<!-- <patches>./</patches> -->
<!-- <shared_memory>shared/</shared_memory> -->
<!-- <logs>logs/</logs> -->
</directories>
</server>
In the login.ini (notice the "local_network = 127.0.0.")
leaving the period at end. This is what I use.
Code:
[database]
host = 127.0.0.1
port = 3306
db = peq**whatever
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 = 5999
local_network = 127.0.0.
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 = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType