1) Port Forward all the ports required. If your not sure how to then visit
Code:
PORTS
9958
5817
5816
2) Put these IP's in the places stated below.
GameServer
MasterSocket=Your IP in both places
DatabaseConnection=127.0.0.1
LoginServer
MasterSocket= Your IP in both places
DatabaseConnection=127.0.0.1
AuthSocker=127.0.0.1 in both places
PacketProcessor=
Code:
if (ServerName == "SERVERNAMELoc")// For YOU
{
if (AuthSocket.Authorize(AccountName, Key, false)) //Enable YOU
{
CSocket.Send(Packets.AuthResponse("127.0.0.1", Key1, Key2));
}
else
{
CSocket.Disconnect();
}
}
else if (ServerName == "SERVERNAME")
{
if (AuthSocket.Authorize(AccountName, Key, false)) // Enable Public
{
CSocket.Send(Packets.AuthResponse("YOUR IP", Key1, Key2));
}
else
{
CSocket.Disconnect();
}
}
}
else if(DBPass == "")
{
Console.WriteLine("[LoginServer](Diagnostic) Set password for " + AccountName);
Database.Database.SetPass(AccountName, Password);
//OKAY to login!
uint Key = (uint)(Random.Next(10000000) << 32);
Key = Key << 32;
Key = (uint)(Key | (uint)Random.Next(10000000));
byte[] Key1 = new byte[4];
byte[] Key2 = new byte[4];
Key1[0] = (byte)(((ulong)Key & 0xff00000000000000L) >> 56);
Key1[1] = (byte)((Key & 0xff000000000000) >> 48);
Key1[2] = (byte)((Key & 0xff0000000000) >> 40);
Key1[3] = (byte)((Key & 0xff00000000) >> 32);
Key2[0] = (byte)((Key & 0xff000000) >> 24);
Key2[1] = (byte)((Key & 0xff0000) >> 16);
Key2[2] = (byte)((Key & 0xff00) >> 8);
Key2[3] = (byte)(Key & 0xff);
if (ServerName == "YOUSERVERNAMELoc")// For YOU {
if (AuthSocket.Authorize(AccountName, Key, false)) // Enable You
{
CSocket.Send(Packets.AuthResponse("127.0.0.1", Key1, Key2));
}
else
{
CSocket.Disconnect();
}
}
else if (ServerName == "SERVERNAME")
{
if (AuthSocket.Authorize(AccountName, Key, false)) // Enable Public
{
CSocket.Send(Packets.AuthResponse("YOUR IP", Key1, Key2));
}
else
{
CSocket.Disconnect();
}
}
CSocket.Disconnect();
}
else
{
CSocket.Send(Packets.WrongPass());
CSocket.Disconnect();
}
}
else
{
Console.WriteLine("DBPass equals ERROR: " + DBPass);
CSocket.Disconnect();
}
}
}
}
3) Open Server.dat and COPY AND PASTE THIS for you and edit where stated
Code:
<?xml version="1.0"?>
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="cq2">
<table_structure name="outenserver">
<field Field="id" Type="smallint(1) unsigned zerofill" Null="NO" Key="PRI" Default="0" Extra="" />
<field Field="ServerName" Type="varchar(32)" Null="YES" Key="" Extra="" />
<field Field="ServerIP" Type="varchar(15)" Null="YES" Key="" Extra="" />
<field Field="ServerPort" Type="int(1) unsigned" Null="YES" Key="" Extra="" />
<field Field="FlashName" Type="varchar(32)" Null="YES" Key="" Extra="" />
<field Field="FlashIcon" Type="varchar(32)" Null="YES" Key="" Extra="" />
<field Field="FlashHint" Type="varchar(128)" Null="YES" Key="" Extra="" />
<field Field="Child" Type="tinyint(1) unsigned zerofill" Null="NO" Key="" Default="0" Extra="" />
<key Table="outenserver" Non_unique="0" Key_name="id" Seq_in_index="1" Column_name="id" Collation="A" Cardinality="97" Null="" Index_type="BTREE" Comment="" />
<options Name="outenserver" Engine="MyISAM" Version="10" Row_format="Dynamic" Rows="97" Avg_row_length="58" Data_length="5644" Max_data_length="281474976710655" Index_length="2048" Data_free="0" Create_time="2008-11-26 08:33:09" Update_time="2008-12-18 08:39:35" Collation="latin1_swedish_ci" Create_options="" Comment="" />
</table_structure>
<table_data name="outenserver">
<row>
<field name="id">0</field>
<field name="ServerName"></field>
<field name="ServerIP"></field>
<field name="ServerPort">0</field>
<field name="FlashName"></field>
<field name="FlashIcon"></field>
<field name="FlashHint"></field>
<field name="Child">1</field>
</row>
<row>
<field name="id">1</field>
<field name="ServerName"></field>
<field name="ServerIP"></field>
<field name="ServerPort">0</field>
<field name="FlashName">Group1</field>
<field name="FlashIcon">Group11.swf</field>
<field name="FlashHint"></field>
<field name="Child">1</field>
</row>
<row>
<field name="id">101</field>
<field name="ServerName">[COLOR="red"]ServerName[/COLOR]Loc</field>
<field name="ServerIP">127.0.0.1</field>
<field name="ServerPort">9958</field>
<field name="FlashName">[COLOR="Red"]ServerName[/COLOR]</field>
<field name="FlashIcon">Group3/server2.swf</field>
<field name="FlashHint"></field>
<field name="Child">0</field>
</row>
</table_data>
</database>
</mysqldump>
4) Copy Server.dat to Desktop or somewhere and COPY AND PASTE this and edit where required.
Code:
<?xml version="1.0"?>
<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="cq2">
<table_structure name="outenserver">
<field Field="id" Type="smallint(1) unsigned zerofill" Null="NO" Key="PRI" Default="0" Extra="" />
<field Field="ServerName" Type="varchar(32)" Null="YES" Key="" Extra="" />
<field Field="ServerIP" Type="varchar(15)" Null="YES" Key="" Extra="" />
<field Field="ServerPort" Type="int(1) unsigned" Null="YES" Key="" Extra="" />
<field Field="FlashName" Type="varchar(32)" Null="YES" Key="" Extra="" />
<field Field="FlashIcon" Type="varchar(32)" Null="YES" Key="" Extra="" />
<field Field="FlashHint" Type="varchar(128)" Null="YES" Key="" Extra="" />
<field Field="Child" Type="tinyint(1) unsigned zerofill" Null="NO" Key="" Default="0" Extra="" />
<key Table="outenserver" Non_unique="0" Key_name="id" Seq_in_index="1" Column_name="id" Collation="A" Cardinality="97" Null="" Index_type="BTREE" Comment="" />
<options Name="outenserver" Engine="MyISAM" Version="10" Row_format="Dynamic" Rows="97" Avg_row_length="58" Data_length="5644" Max_data_length="281474976710655" Index_length="2048" Data_free="0" Create_time="2008-11-26 08:33:09" Update_time="2008-12-18 08:39:35" Collation="latin1_swedish_ci" Create_options="" Comment="" />
</table_structure>
<table_data name="outenserver">
<row>
<field name="id">0</field>
<field name="ServerName"></field>
<field name="ServerIP"></field>
<field name="ServerPort">0</field>
<field name="FlashName"></field>
<field name="FlashIcon"></field>
<field name="FlashHint"></field>
<field name="Child">1</field>
</row>
<row>
<field name="id">1</field>
<field name="ServerName"></field>
<field name="ServerIP"></field>
<field name="ServerPort">0</field>
<field name="FlashName">Group1</field>
<field name="FlashIcon">Group11.swf</field>
<field name="FlashHint"></field>
<field name="Child">1</field>
</row>
<row>
<field name="id">101</field>
<field name="ServerName">[COLOR="red"]ServerName[/COLOR]</field>
<field name="ServerIP">YOURIP</field>
<field name="ServerPort">9958</field>
<field name="FlashName">[COLOR="red"]ServerName[/COLOR]</field>
<field name="FlashIcon">Group3/server2.swf</field>
<field name="FlashHint"></field>
<field name="Child">0</field>
</row>
</table_data>
</database>
</mysqldump>
If I have put the word Loc in then leave that there please
If this helps hit Thanks
=)
Credits
Me for tutorial
yuko for showing me
velorian for AuthSocket fix