using System;
using System.Net;
using System.Net.Sockets;
using Server;
using Server.Network;
namespace Server.Misc
{
public class ServerList
{
/* Address:
*
* The default setting, a value of 'null', will attempt to detect your IP address automatically:
* private const string Address = null;
*
* This detection, however, does not work for servers behind routers. If you're running behind a router, put in your IP:
* private const string Address = "12.34.56.78";
*
* If you need to resolve a DNS host name, you can do that too:
* private const string Address = "shard.host.com";
*/
public const string Address = "216.160.107.16";
public const string ServerName = "Shard's Name";
public static void Initialize()
{
Listener.Port = 2593;
EventSink.ServerList += new ServerListEventHandler( EventSink_ServerList );
}
public static void EventSink_ServerList( ServerListEventArgs e )
{
try
{
IPAddress ipAddr;
if ( Resolve( Address != null && !IsLocalMachine( e.State ) ? Address : Dns.GetHostName(), out ipAddr ) )
e.AddServer( ServerName, new IPEndPoint( ipAddr, Listener.Port ) );
else
e.Rejected = true;
}
catch
{
e.Rejected = true;
}
}
public static bool Resolve( string addr, out IPAddress outValue )
{
try
{
outValue = IPAddress.Parse( addr );
return true;
}
catch
{
try
{
IPHostEntry iphe = Dns.Resolve( addr );
if ( iphe.AddressList.Length > 0 )
{
outValue = iphe.AddressList[iphe.AddressList.Length - 1];
return true;
}
}
catch
{
}
}
outValue = IPAddress.None;
return false;
}
private static bool IsLocalMachine( NetState state )
{
Socket sock = state.Socket;
IPAddress theirAddress = ((IPEndPoint)sock.RemoteEndPoint).Address;
if ( IPAddress.IsLoopback( theirAddress ) )
return true;
bool contains = false;
IPHostEntry iphe = Dns.Resolve( Dns.GetHostName() );
for ( int i = 0; !contains && i < iphe.AddressList.Length; ++i )
contains = theirAddress.Equals( iphe.AddressList[i] );
return contains;
}
}
}
Burdaki kodu bir txt dosyasına yazdıktan sonra kaydedin ve adını serverlist.cs olarak değiştirin ve Scripts/misc klasöründe serverlist.cs dosyası ile değiştirin.. Gerekli ayarlamaları yapın (ismini ve portunu kendi istediğiniz şekilde ayarlayın.)July 14, 2007
June 24, 2004
August 17, 2006
January 01, 1970
March 21, 2005
Sunucular 4 days önce
Sunucular 2 weeks önce
Sphere Scripting 3 weeks önce
Sunucular 3 weeks önce
Sunucular 1 months önce
Sunucular 2 months önce
Sunucular 2 months önce
Sunucular 2 months önce
June 30, 2017
June 24, 2017
June 22, 2017
June 18, 2017
June 03, 2017
May 28, 2017
May 09, 2017
March 31, 2017
Yorumlar (2)
serverlist'e bi çözüm bulsak harika olacak :( Prof. shard kurma niyetinde değilim. 3-5 arkadaş beraber takılabileceğimiz birşey olsun istedik. Lütfen serverlist.cs'e bir el atalım
Serverlist.cs hata verio :S