RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

ServerList.cs with AutoIP and AutoLocalLan

Status
Not open for further replies.

Gudzon

Wanderer
The help is required. At connection from the Internet the server at once disconnects the player, at all not having given it enters game. On the part of the client shows, that the server is inaccessible. With a standard script all works well.
 

bpoff

Wanderer
I got a problem I cant quite figure out,
Im using Fixits Serverlist.cs with Version 1.0, .Net is updated.

I am using a Hub which branches to three seperate PCs, players within my LAN are able to connect with no issues whatsoever yet outside players can not connect at all.

Port 2593 is open, and I Can find no logical reason as to why players trying to connect through my external IP can not connect. I suck at networking btw...any tips?
 

Anvil

Wanderer
Hubs won't work unless your running a proxy with nat running and port forwarding via nat.

If you have a Cable/DSL router, you will have to setup NAT/Port forwarding within the router.

Just an FYI for all you folks with Netgear routers, I have a FVM318 and I got it to work fine through that. I had a Netgear 4 port Cable/DSL router previously (don't remember which model), but I had to set a switch on the outside of the router (wan side) and connect from DSL/Cable Modem to switch then from the switch one line to router, and one line to PC on the Wan side that ran the server. I then would setup a Dynamic DNS proggy on the server to keep the IP static per say and then run the rest of my machines behind the router for security reasons. It wasn't the best option in the world, but it worked. Luckily I don't have to do that anymore with the new router I have :)
 

Lelow

Wanderer
??

Anvil said:
Hubs won't work unless your running a proxy with nat running and port forwarding via nat.

If you have a Cable/DSL router, you will have to setup NAT/Port forwarding within the router.


can you please tell us how to set it up to work on a hub?
 

LtLDevil

Wanderer
Update for RunUO 1.0?

Mr. Fixit, this script works beautifully for beta36, but alas, it for some reason does not work on RC1.0.

Do you have any intentions of updating this excellent script?

I like many others have multiple computers on my internal network, but also wish to allow external connections..

I can only have one or the other as the serverlist.cs is setup now, and unfortunately I do not possess the expertise to modify or create a script of my own.. :(

Thanks for all your help,
Devil
 

LtLDevil

Wanderer
This is what I get when I compile.

I have made no changes to Mr.Fixits scripts other then entering shard name and my external IP address. Below is what i get when i start the server..



Any ideas, here is the script that i am currently using..


Code:
// ==================================================================================================
// ServerList.cs
// ==================================================================================================
//    	1.0 	RunUO Beta 36	Initial version
//    	1.1 	Mr Fixit	Now automaticly detects if you are connecting localy and uses the
//				servers local ip in the client serverlist.
//	1.2	Mr Fixit	Internet IP autodetection using [url]www.whatismyip.com[/url].
//  	1.3	Mr Fixit	If script fails to find the internet ip, keep the old one and try
//				again in # minutes.
//      1.4	Mr Fixit	You can now add AutoIP mirrors. Added whatismyip.com and myip.com.
//      1.5	Mr Fixit	Adjusted the AutoIP mirror engine so it supports more mirrors.
//				Added findmyip.com and ipaddy.com.
//      1.6	Mr Fixit	IP is now trimmed (Just in case). Added simflex.com, edpsciences.com,
//				ipid.shat.net and checkip.dyndns.org.
//      1.7     Mr Fixit        Removed [url]www.whatismyip.com[/url] is it seems to be out of buisness.
// ==================================================================================================

using System;
using System.Net;
using System.Net.Sockets;
using Server;
using Server.Network;

namespace Server.Misc
{
	public class ServerList
	{

		// ==================================================================================
		// YOUR SERVERS NAME
		// ==================================================================================
		public const string ServerName = "Tranquility";

		// ==================================================================================
		// YOUR INTERNET IP OR DNS NAME
		// Here you can select to autodetect your internet ip, or manualy specify
		// Examples:
		// public static string Address = "12.34.56.78";
		// public static string Address = "shard.host.com";
		// ==================================================================================
		public const bool InternetIPAutodetect = true;
		public const int MinutesBetweenIPAutodetect = 30;
		public static string Address = MY EXTERNAL IP;
		
		// ==================================================================================
		// Here are some values stored
		// ==================================================================================
		private static LocalLanIPRange[] LocalLanIPRanges = new LocalLanIPRange[10];		
		private static UInt32 LocalLanIPRangesCount;
		private static AutoIPMirror[] AutoIPMirrors = new AutoIPMirror[10];	
		private static UInt32 AutoIPMirrorsCount;
		private static DateTime InternetIPAutodetectLast;
		

		// ==================================================================================
		// Initialization
		// ==================================================================================
		public static void Initialize()
		{
			// ----------------------------------------------------
			// Select what port to use
			// ----------------------------------------------------
			Listener.Port = 2593;

			// ----------------------------------------------------
			// Load the local LAN ip ranges
			// ----------------------------------------------------
			AddLocalLANIPRange("10.0.0.0", "10.255.255.255");
			AddLocalLANIPRange("192.168.0.0", "192.168.255.255");
			AddLocalLANIPRange("172.16.0.0", "172.32.255.255");
			AddLocalLANIPRange("169.254.0.0", "169.254.255.255");

			// ----------------------------------------------------
			// Load the Auto IP mirros
			// ----------------------------------------------------
			AddAutoIPMirror("http://www.myip.com/", "<html>Your ip is ", "<p></html>");
			AddAutoIPMirror("http://www.findmyip.com/", "Your IP address is:<br>", "</FONT>");
			AddAutoIPMirror("http://www.ipaddy.com/", "Your IP address is: ", "<br>");
			AddAutoIPMirror("http://checkip.dyndns.org/", "Current IP Address: ", "</body>");
			AddAutoIPMirror("http://ipid.shat.net/iponly/", "<title>", "</title>");
			AddAutoIPMirror("http://www.edpsciences.com/htbin/ipaddress", "Your IP address is  <B> ", " </B>");
			AddAutoIPMirror("http://www2.simflex.com/ip.shtml", "Your IP address is <BR>", "<BR>");
			
			// ----------------------------------------------------
			// Create the event
			// ----------------------------------------------------
			EventSink.ServerList += new ServerListEventHandler( EventSink_ServerList );
		}
		

		// ==================================================================================
		// Add a range of local lan ips
		// ==================================================================================
		private static void AddLocalLANIPRange(string RangeFrom, string	RangeTo)
		{
			LocalLanIPRanges[LocalLanIPRangesCount] = new LocalLanIPRange();
			LocalLanIPRanges[LocalLanIPRangesCount].RangeFrom = StringIPToUInt32IP(RangeFrom);
			LocalLanIPRanges[LocalLanIPRangesCount].RangeTo = StringIPToUInt32IP(RangeTo);
			LocalLanIPRangesCount = LocalLanIPRangesCount + 1;
		}
		
		
		// ==================================================================================
		// Convert a ip string to a binary unsigned int
		// ==================================================================================
		private static UInt32 StringIPToUInt32IP(string addr)
		{
			byte[] byteArray1 = IPAddress.Parse(addr).GetAddressBytes();
			byte[] byteArray2 = IPAddress.Parse(addr).GetAddressBytes();
			byteArray1[0] = byteArray2[3];
			byteArray1[1] = byteArray2[2];
			byteArray1[2] = byteArray2[1];
			byteArray1[3] = byteArray2[0];
			return  BitConverter.ToUInt32( byteArray1, 0);
		}
		

		// ==================================================================================
		// Used to store the local lan ip ranges
		// ==================================================================================
		private class LocalLanIPRange
		{
			public UInt32			RangeFrom;
			public UInt32			RangeTo;
		}	


		// ==================================================================================
		// Add a AutoIP mirror
		// ==================================================================================
		private static void AddAutoIPMirror(string sURL, string	sStart, string sEnd)
		{
			AutoIPMirrors[AutoIPMirrorsCount] = new AutoIPMirror();
			AutoIPMirrors[AutoIPMirrorsCount].sURL = sURL;
			AutoIPMirrors[AutoIPMirrorsCount].sStart = sStart;
			AutoIPMirrors[AutoIPMirrorsCount].sEnd = sEnd;
			AutoIPMirrorsCount = AutoIPMirrorsCount + 1;
		}


		// ==================================================================================
		// Used to store the Auto IP mirrors
		// ==================================================================================
		private class AutoIPMirror
		{
			public string			sURL;
			public string			sStart;
			public string			sEnd;
			public UInt32			iFailures;
		}	


		// ==================================================================================
		// The serverlist event
		// ==================================================================================
		public static void EventSink_ServerList( ServerListEventArgs e )
		{
			try
			{
				// ----------------------------------------------------
				// Autodetect the Internet IP every 30 minutes
				// ----------------------------------------------------
				if (InternetIPAutodetect) {
					DateTime UpdateTime = InternetIPAutodetectLast;
					UpdateTime = UpdateTime.AddMinutes(MinutesBetweenIPAutodetect);
					if (UpdateTime<DateTime.Now) {
						string NewAddress = null;
						NewAddress = FindInternetIP();
						InternetIPAutodetectLast = DateTime.Now;
						if (NewAddress!=null) 
						{
							Address = NewAddress;
						}
					}
				}
				
				// ----------------------------------------------------
				// Find the server ip to use for this user
				// ----------------------------------------------------
				IPAddress ipAddr = FindMachineIP(e);
				
				// ----------------------------------------------------
				// Send serverlist
				// ----------------------------------------------------
				if (ipAddr != null)
				{
					e.AddServer( ServerName, new IPEndPoint( ipAddr, Listener.Port ) );
				} else {
					e.Rejected = true;
				}
			}
			catch
			{
				e.Rejected = true;
			}
		}
		
		
		// ==================================================================================
		// Connects to a webserver that gives you your internet ip
		// ==================================================================================
                public static string FindInternetIP( )
		{

			// ----------------------------------------------------
			// Pick a random mirror
			// ----------------------------------------------------
			Random rnd = new Random();
			int UseMirror = (int)( rnd.NextDouble() * AutoIPMirrorsCount);
			string MyIP = "";
			
			// ----------------------------------------------------
			// Catch if the mirror is down
			// ----------------------------------------------------
			try
			{
				// ----------------------------------------------------
				// Get the webpage
				// ----------------------------------------------------
        	    		WebClient client = new WebClient();
            			byte[] pageData = client.DownloadData(AutoIPMirrors[UseMirror].sURL);
            			MyIP = System.Text.Encoding.ASCII.GetString(pageData);
            		
				// ----------------------------------------------------
				// Find the string
				// ----------------------------------------------------
                        	int iStart = MyIP.LastIndexOf(AutoIPMirrors[UseMirror].sStart);   
                        	int iEnd = MyIP.IndexOf(AutoIPMirrors[UseMirror].sEnd, iStart+AutoIPMirrors[UseMirror].sStart.Length);
                        	MyIP = MyIP.Substring(iStart+AutoIPMirrors[UseMirror].sStart.Length, iEnd-iStart-AutoIPMirrors[UseMirror].sStart.Length );
                        	MyIP = MyIP.Trim();
                        	
				// ----------------------------------------------------
				// Return value
				// ----------------------------------------------------
                        	Console.WriteLine("Internet IP: {0} ({1})", MyIP, AutoIPMirrors[UseMirror].sURL);
        	                return MyIP;
			}
			catch
			{
				Console.WriteLine("Unable to autoupdate the Internet IP from {0}!", AutoIPMirrors[UseMirror].sURL);
				Console.WriteLine("----------------------------------------------------------------------");
				Console.WriteLine(MyIP);
				Console.WriteLine("----------------------------------------------------------------------");
				return null;
			}
        	}
		
		
		// ==================================================================================
		// Calculates what server IP to use
		// ==================================================================================
                public static IPAddress FindMachineIP( ServerListEventArgs e )
		{
			// ----------------------------------------------------
			// Find the IP of the connecting user
			// ----------------------------------------------------
			Socket sock = e.State.Socket;
			IPAddress theirAddress = ((IPEndPoint)sock.RemoteEndPoint).Address;				
			IPAddress serverAddress;

			// ----------------------------------------------------
			// Is it Loopback?
			// ----------------------------------------------------
			if ( IPAddress.IsLoopback( theirAddress ) )
			{
				return IPAddress.Parse( "127.0.0.1" );
			}

			// ----------------------------------------------------
			// Local
			// ----------------------------------------------------
			UInt32 uint32Address = StringIPToUInt32IP(theirAddress.ToString());
			for (UInt32 LocalLanIPRangesLoop = 0 ; LocalLanIPRangesLoop < LocalLanIPRangesCount; LocalLanIPRangesLoop++)
			{	
				if ( (LocalLanIPRanges[LocalLanIPRangesLoop].RangeFrom <= uint32Address) && (LocalLanIPRanges[LocalLanIPRangesLoop].RangeTo >= uint32Address) )
				{
					Resolve(Dns.GetHostName(), out serverAddress);
					return serverAddress;
				}
			}

			// ----------------------------------------------------
			// Internet addresses
			// ----------------------------------------------------
			if (Address!=null)
			{
				Resolve(Address, out serverAddress);	
			} else {
				Resolve(Dns.GetHostName(), out serverAddress);	
			}
			return serverAddress;
		}
		

		// ==================================================================================
		// Resolves dns names
		// ==================================================================================
		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;
		}

	}
}

I am behind a Checkpoint Firewall, with mascarading enabled to my runuo server, and port 2593 open for both TCP/UDP traffic.. :eek:

Am i missing anything? :rolleyes:

Thanks for your help,
Devil

NOTE - I had beta 36 running, using a very similar script and it worked flawlessly, only after i upgrading to RC1.0 am i having this issue, I have not changed any of the settings on the firewall. :confused:

The whole purpose of this is not because I'm having connection problems, I can connect via internal address or external address, I just cannot connect at the same time.. This is the purpose, I wish to be able to connect both from the local network and from external IP. :)
 

LtLDevil

Wanderer
I had my IP in there, just pulled it out for the post. ;)
I suppose it wouldn't have made a difference, to leave it in there considering the server is not currently running, and now that i think about it, I should have left it there so as not to confuse you into thinking i forgot something that simple..
My apologies... :eek:

Do you see any other issues?

smoksalot said:
Yes

public static string Address = MY EXTERNAL IP; // <-------------------- This is wrong
 

smoksalot

Wanderer
slithers said:
is in quotation marks i.e.. "123.45.67.890"

just follow this tip im sure you will get it, It works fine for me,

If you still dont get it after a few more tries then i will will tell you but first try,
 

Atheena

Wanderer
I did that... but...

Mrfixit... I dropped your script in as was and only changed my name.... I have comcast with a linksys gateway / modum and external players can get on just fine....

However, my kids on my lan can not. My client machine is the ONLY one who can log on on my network. I have done the port forwarding obviously or the externals could not get in.

Is there something else I need to change in the script for my lan OR is there a way to set up a *create local serverlist* logon in uogateway that should direct them to the proper internal ip? I think it is the *create local serverlist* i am not setting up correctly for my family to log onto........
 

Atheena

Wanderer
I want to take the time to thank you for this script. The hourly lag we were having before the script is TOTALLY gone. This lag coincided with the dhcp getting its new liscense.. as far as I could tell... now the script automatically fixes it...

I still don't have it so that the lan can log on.. but this has made my server seem normal as if I did not have the router / gateway.... and I appreciate your putting it here emmencely!
 
G

Greywolfe

Guest
I was wondering if anyone might have some insight as to why I am getting the following error. I tried looking at the script but could not find what would be causing it. I am using MrFixit's serverlist.cs file on RUNUO 1.0-RCO. I thought I read that it does not work with this version. IF that is true does anyone have a modified version of this file. I like so many others am still not able to get external traffic.


Code:
Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
 - Error: Scripts\ServerList.cs: CS0101: (line 27, column 15) The namespace 'Ser
ver.Misc' already contains a definition for 'ServerList'
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.
 

Protius73

Sorceror
Hey Greywolfe... that error message your getting means there is another file called serverlist .cs you have to remove that one... if you look in scripts/misc/
youll see the original server list script simply move it to a non RunUO folder or delete it if you dont wanna save it then reboot server :D
 
G

Greywolfe

Guest
Yea sorry about that post. I did realize that I had a second copy of serverlist in my scripts directory, should have edited my post at that time. However I am still unable to get external traffic. I have tweaked every router setting, and system setting I could think of and yet it still only wants to let in local traffic.
 

Rakshasas

Wanderer
I've been using this for a while and it's been doing the trick. But after 20 mins ago or so something very strange happened on the console.

This code appeared on the console :

Code:
Login: XX.XXX.XX.XXX Valid credentials for 'Mordarke'
Unable to autoupdate the Internet IP from http://www.myip.com/!
----------------------------------------------------------------------
<html>
<head>
<title>MyIP.com</title>
<META NAME="keywords" CONTENT="ip address,myip,MyIP.com">
<META NAME="description" CONTENT="MyIP.com is your number one online r
r everything related to ip address.">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1
<script type="text/javascript" language="JavaScript1.2" src="stm31.js"

<style type="text/css">
h3 {font-family: times}
p {font-family: Verdana}
p {font-size:8 pt}

</style>
</head>

<body background="http://www.sitelauncher.com/images/background.jpg" l
66" vlink="#333333" alink="#666666" leftmargin="0" rightmargin="0" top
 marginwidth="0" marginheight="0">
<div align="center">
  <table width="100%" height="100" border="0" cellpadding="1" cellspac
    <tr>
      <td width="33%" height="10">&nbsp;</td>
      <td width="33%" height="10" valign="top" background="http://www.
er.com/images/back2.jpg" bgcolor="#FFFFFF">
        <table width="100%" height="74" border="0" cellpadding="0" cel
0">
          <tr>
            <td width="25%" valign="bottom" background="http://www.sit
com/images/topgrad.gif"><a href="http://www.MyIP.com"><img src="MyIPlo
dth="270" height="75" border=0 alt="ip address"></a></td>
            <td width="75%" height="74" valign="bottom" background="ht
itelauncher.com/images/topgrad.gif"><div align="right"></div>
              <div align="right"><font color="#FF0000" size="-2"><stro
ace="Arial, Helvetica, sans-serif"> </font></strong></font> </div>
                <div align="right"></div>
                <div align="right">
                  <table width="300" border="0" cellspacing="0" cellpa
>
                    <tr>
                      <td width="154" valign="bottom"><div align="righ
/div></td>
                      <td width="106" valign="bottom"><div align="righ
 language=JavaScript>




<!-- Begin
if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(
appVersion) >= 4)) {

var url="http://www.MyIP.com";
var title="MyIP.com - your resource";

document.write('<A HREF="javascript:window.ext');
document.write('ernal.AddFavorite(url,title);" ');
document.write('onMouseOver=" window.status=');
document.write("'Add our site to your favorites!'; return true ");
document.write('"onMouseOut=" window.status=');
document.write("' '; return true ");
document.write('"><font>Bookmark</font></a>');
}
else {
var msg = "<font>Bookmark</font>";
if(navigator.appName == "Netscape") msg += "";
document.write(msg);
}

// End -->
</SCRIPT> <img src="http://www.sitelauncher.com/images/item2.gif" widt
ght="13">&nbsp;</div></td>
                    </tr>
                  </table>
                </div>
            </td>
          </tr>
        </table>
        <div align="center">          <table width="759" height="10" b
cellpadding="10" cellspacing="0">


<tr>
<td align=middle>

<script type="text/javascript"><!--
google_ad_client = "pub-9956561265854197";
google_alternate_color = "FFFFFF";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_channel ="";
google_ad_type = "text_image";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>

            <tr>
              <td height="10" valign="top"><table width="100%" height=
r="0" cellpadding="0" cellspacing="0">
                  <tr>
                     <td width="1%" valign="top" align=right><img src=
w.sitelauncher.com/images/vline3.gif" width="1" height="560"></td>

<td width="63%" height="10" valign="top"><table width="100%" border="0
ing="0" cellpadding="5">
                      <tr>
                        <td height="29" background="http://www.sitelau
images/redbar.gif"><font color="#000066" size="2" face="Arial, Helveti
erif"><strong><b>Popular ip address sites</b>
                          </strong></font></td>
                      </tr>
                    </table>
                      <table width="100%" border="0" cellspacing="0" c
="5">



                        <tr>
                          <td><br>
<iframe name="I1" width="400" height="465" src="http://www.sitelaunche
ch/iframe.php?mt=ip+address&dc=5&pid=7617" border="0" frameborder="0"
"no">
    Your browser does not support inline frames or is currently config
o display inline frames.  To find a popular site, click on any link to
.</iframe>
</b><font face=arial size=-1>


                        </td>
                        </tr>
                      </table>
                    <p align="right">&nbsp;                      </p><
                    <td width="1%" valign="top"><img src="http://www.s
r.com/images/vline3.gif" width="1" height="560"></td>
                    <td width="36%" height="10" valign="top"><div alig
</div>
                      <table width="250" border="0" align="center" cel
5" cellspacing="1" bgcolor="#000000">
                        <tr>
                          <td height="227" valign="top" background="ht
itelauncher.com/images/TRIBIG.gif" bgcolor="#FFFFFF"><p><strong><font
0000">Related
                                  Links:<br>
                            </font></strong></p>

 <p>

<a href="index.php?&term=web+hosting"><b>
Web Hosting
</b></a><br>
  <a href="index.php?&term=dedicated+hosting"><b>
Dedicated Hosting
</b></a><br>
  <a href="index.php?&term=computer+software"><b>
Computer Software</font>
</b></a><br>
  <a href="index.php?&term=internet+access"><b>
Internet Access
</b></a><br>
  <a href="index.php?&term=cable+modem"><b>
Cable Modem</b></a><br>
  <a href="index.php?&term=wireless+internet"><b>
Wireless Internet
</b></a><br>
  <a href="index.php?&term=domain+name"><b>
Domain Name
</b></a><br>
  <a href="index.php?&term=web+design"><b>
Web Design
</b></a><br>
  <a href="index.php?&term=manage+hosting"><b>
Managed Hosting
</b></a><br>
  <a href="index.php?&term=personal+computer"><b>
Personal Computer
</b></a><br>
</p>                          </td>
                        </tr>


                      </table>
                      <br>
                  <TABLE borderColor=#ffffff height=1 cellSpacing=1
                  cellPadding=5 width=250 align=center bgColor=#eeeeee
                    border=0><TBODY>
                    <TR>
                      <TD vAlign=top width=180
                      background="http://www.sitelauncher.com/images/g

                      bgColor=#CCCCCC height=50>
                        <P align=left><FONT color=#ff0000><STRONG><FON
                        color=#6E6D6D>Search the
                        Web:</FONT></STRONG></FONT><FONT
                        color=#ff0000><BR><FORM action="index.php" met
name="search"><INPUT name=term maxLength=34 size=35
                        name=textfield>

</FONT>
                        <TABLE cellSpacing=0 cellPadding=0 width=220 b
                          <TBODY>
                          <TR>
                            <TD>
                              <DIV align=right><INPUT type=submit valu
/FORM>
                              </STRONG></A></FONT>
     </DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>

<br>
<table border=0>
<tr>
<td colpan=2>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
</table>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>

          <table width="100%" height="71" border="0" cellpadding="6" c
="0">
                      <tr>
                        <td height="71" valign="top" background="http:
launcher.com/images/grad.jpg"><div align="center">
                            <p> <strong><font color="#666666">&copy; 2
om
                                  </font> </strong>&nbsp;<img src="htt
telauncher.com/images/ar77.gif" width="5" height="5" align="middle"> <
rms.php?&domain=MyIP">terms of use</p>



                          </div>
                        </td>
                      </tr>
                    </table>
                    <br>
            <br>
            <br>
            <br>
            <br>
            <br>
        </div>
      </td>
      <td width="33%" height="10">&nbsp;</td>
    </tr>
  </table>
</div>
</body>
</html>

----------------------------------------------------------------------
Client: XX.XXX.XX.XXX: Disconnected. [0 Online]

It not working is one thing, but how the heck did that happen?
 
Status
Not open for further replies.
Top