Go Back   RunUO - Ultima Online Emulation > RunUO > Server Support on Windows

Server Support on Windows Get (and give) support on general questions related to the RunUO server itself.

Reply
 
Thread Tools Display Modes
Old 11-27-2006, 10:24 AM   #1 (permalink)
Forum Newbie
 
Join Date: Jan 2006
Posts: 59
Default I got a little ip problem

Hello! When i launch RunUO, everything is fine but, where its written the ip, after the world load and script loads, its actually written, the loopback ip 127.0.0.1 and just under, my default gateway since im behind a router. When I log in the server with my admin account and character, in the RunUO box at the left of the informations of the accounts, i can see the ip 127.0.0.1. I dont think this is normal, there is probably an error in the server list, or something.

When i give my ip from http://www.whatismyip.com to my friend, she cannot log on my server. I think my server is using a local ip or something... I searched a lot and i really have no clue of what to do...

P.S.: i have a router and i forwarded the port 2593 correctly.

***Edit***
I forgot to say, I'm using the default serverlist.cs of runuo 2.0
Deikiel_Emeril is offline   Reply With Quote
Old 11-27-2006, 10:49 AM   #2 (permalink)
Forum Expert
 
Join Date: Mar 2005
Location: Berlin, Germany
Age: 27
Posts: 1,136
Send a message via ICQ to Sotho Tal Ker Send a message via MSN to Sotho Tal Ker
Default

Enter your public ip into serverlist.cs.
It is normal that RunUO shows the loopback adress when you connect from the same computer the server is on.
Sotho Tal Ker is offline   Reply With Quote
Old 11-27-2006, 10:53 AM   #3 (permalink)
Forum Newbie
 
Join Date: Jan 2006
Posts: 59
Default

ok and if i am right, the public ip is the one on http://www.whatismyip.com/ ? if yes, thats what i did..
Deikiel_Emeril is offline   Reply With Quote
Old 11-27-2006, 11:27 AM   #4 (permalink)
Forum Expert
 
Join Date: Mar 2005
Location: Berlin, Germany
Age: 27
Posts: 1,136
Send a message via ICQ to Sotho Tal Ker Send a message via MSN to Sotho Tal Ker
Default

It could either be (in no particular order):
You did not forward the port correctly
Your friend messes up the IP stuff (so that UO does not connect to you at all)
You have a firewall that is blocking RunUO

Does the message show up that someone tries to connect to you server, when your friend connects?
Sotho Tal Ker is offline   Reply With Quote
Old 11-27-2006, 12:19 PM   #5 (permalink)
Forum Newbie
 
MagnusUO's Avatar
 
Join Date: Mar 2005
Age: 25
Posts: 63
Send a message via ICQ to MagnusUO
Default OS/Error

What OS are you running? are all your firewalls off/configured?

What error is she getting when she logs in?
MagnusUO is offline   Reply With Quote
Old 11-27-2006, 12:32 PM   #6 (permalink)
Forum Expert
 
Broadside's Avatar
 
Join Date: Jul 2004
Location: Minnesota
Age: 32
Posts: 1,488
Send a message via ICQ to Broadside Send a message via MSN to Broadside Send a message via Yahoo to Broadside
Default

You may need to make tcp/ip changes in your network settings on your pc to get it to work right as well if you havn't already.
__________________
Broadside ~AkA~ Bad Karma
Broadside is offline   Reply With Quote
Old 11-27-2006, 02:13 PM   #7 (permalink)
Forum Newbie
 
Join Date: Jan 2006
Posts: 59
Default

actually, she dont see any error message, it only open the client, when she enter a account name/password, everything stop. and i cant see her trying to log in RunUO

***Edit***
i forgot to say.. the port is correctly forwarded, i already had this shard a year ago, and shutted it down for a while, and the port forward have not changed since.


here is the serverlist i am currently using:

Code:
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 static readonly string Address = "66.130.119.87";

		public const string ServerName = "Deikiell Legacy";

		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 )
		{

            if ( IPAddress.TryParse( addr, out outValue ) )
                return true;

			try
			{
				IPHostEntry iphe = Dns.GetHostEntry( 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.GetHostEntry( Dns.GetHostName() );

			for ( int i = 0; !contains && i < iphe.AddressList.Length; ++i )
				contains = theirAddress.Equals( iphe.AddressList[i] );

			return contains;
		}
	}
}
Deikiel_Emeril is offline   Reply With Quote
Old 11-27-2006, 02:20 PM   #8 (permalink)
Forum Novice
 
Join Date: Nov 2006
Posts: 335
Default

Quote:
Originally Posted by Deikiel_Emeril
actually, she dont see any error message, it only open the client, when she enter a account name/password, everything stop. and i cant see her trying to log in RunUO

***Edit***
i forgot to say.. the port is correctly forwarded, i already had this shard a year ago, and shutted it down for a while, and the port forward have not changed since.


here is the serverlist i am currently using:

Not placed
Just get Mr.FixIt's Server list off the forums =) and use it. Better yet I'll post it riht here for ya. Works perfect every time and yes you still have to set it like you did the original serverlist but nice thing is it automatically gets the IP for you even if you entered your home one for example if you went to your friends house it would get that IP and use it so its really nice to have. JUST COPY PASTE AND MODIFY IT THEN SAVE IT AS SeverList.cs!

Enjoy

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 www.whatismyip.com.
//      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 www.whatismyip.com is it seems to be out of buisness.
//      1.8     Mr Fixit        Added a message to the console with ServerList.cs version when server loads.
//                Now detects the internet ip when the server starts.
//                Now checks if the ip has changed every 60 minutes instead of 30 minutes.
//      1.9     Mr Fixit        Removed noip.com mirror as it isnt working anymore.
//      2.0     Mr Fixit        Now only renews the ip every 24 hours (1440 minutes).
// ==================================================================================================

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 = "Server Name Here Please";

        // ==================================================================================
        // 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 = 14400;
        public static string Address = "##.##.###.###";
        
        // ==================================================================================
        // 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.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 );
            
            // ----------------------------------------------------
            // Show info in console
            // ----------------------------------------------------
            Console.WriteLine("Serverlist.cs: 2.0");
            
            // ----------------------------------------------------
            // Lets find internet ip
            // ----------------------------------------------------
            DetectInternetIP();
            
            
        }
        

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


        // ==================================================================================
        // Detect ip
        // ==================================================================================
        public static void DetectInternetIP()
        {

            // ----------------------------------------------------
            // Autodetect the Internet IP
            // ----------------------------------------------------
            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;
                    }
                }
            }
            
        }

        // ==================================================================================
        // The serverlist event
        // ==================================================================================
        public static void EventSink_ServerList( ServerListEventArgs e )
        {
            try
            {

                // ----------------------------------------------------
                // Lets find internet ip
                // ----------------------------------------------------
                DetectInternetIP();
                
                // ----------------------------------------------------
                // 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);
                    
                    Console.WriteLine("Player is reconnecting to " + serverAddress.ToString());
                    return serverAddress;
                }
            }

            // ----------------------------------------------------
            // Internet addresses
            // ----------------------------------------------------
            if (Address!=null)
            {
                Resolve(Address, out serverAddress);    
            } else {
                Resolve(Dns.GetHostName(), out serverAddress);    
            }
            
            Console.WriteLine("Player is reconnecting to " + serverAddress.ToString());
            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;
        }

    }
}
Aaron Sithsong is offline   Reply With Quote
Old 11-27-2006, 02:21 PM   #9 (permalink)
Forum Expert
 
Broadside's Avatar
 
Join Date: Jul 2004
Location: Minnesota
Age: 32
Posts: 1,488
Send a message via ICQ to Broadside Send a message via MSN to Broadside Send a message via Yahoo to Broadside
Default

Ok first off with updates to windows not sure but may have changed pc settings or maybe you have on accident for port opening. Although if your able to connect from another pc on your network it should be ok or if others can connect. This means its the person logging in is problem. Is the player fully patched to osi? If others cannot connect you made an error. Here is a commmon problem with routers. Sometimes you lock up and have to do a power cycle where you unplug it and this sometimes changes your server ip. Now instead of it being 192.168.1.103 it might be 192.168.1.104 so you need to go open up that port in router.
__________________
Broadside ~AkA~ Bad Karma
Broadside is offline   Reply With Quote
Old 11-27-2006, 02:39 PM   #10 (permalink)
Forum Novice
 
Join Date: Nov 2006
Posts: 335
Default

Quote:
Originally Posted by Broadside
Ok first off with updates to windows not sure but may have changed pc settings or maybe you have on accident for port opening. Although if your able to connect from another pc on your network it should be ok or if others can connect. This means its the person logging in is problem. Is the player fully patched to osi? If others cannot connect you made an error. Here is a commmon problem with routers. Sometimes you lock up and have to do a power cycle where you unplug it and this sometimes changes your server ip. Now instead of it being 192.168.1.103 it might be 192.168.1.104 so you need to go open up that port in router.
Not quite i had the same exact problem hes having with my server when i first started working on it. He just needs mr fixits serverlist so it will grab his IP for him once it does that it wil recognize the internet connection and people can log in. If not then the problem is his Modem which needs to be set for briged connections which is a biatch.
Aaron Sithsong is offline   Reply With Quote
Old 11-27-2006, 02:52 PM   #11 (permalink)
Forum Expert
 
Join Date: Mar 2005
Location: Berlin, Germany
Age: 27
Posts: 1,136
Send a message via ICQ to Sotho Tal Ker Send a message via MSN to Sotho Tal Ker
Default

I suggest to at least test Mr. Fixits serverlist.cs.
If it does not work then, he can always use the default one again.
Sotho Tal Ker is offline   Reply With Quote
Old 11-27-2006, 03:06 PM   #12 (permalink)
Forum Novice
 
Join Date: Nov 2006
Posts: 335
Default

Quote:
Originally Posted by Sotho Tal Ker
I suggest to at least test Mr. Fixits serverlist.cs.
If it does not work then, he can always use the default one again.
Completely and fully agreed. No harm in testing something so small and easily replaced =)
Aaron Sithsong is offline   Reply With Quote
Old 11-27-2006, 05:32 PM   #13 (permalink)
Forum Newbie
 
Join Date: Jan 2006
Posts: 59
Default

Quote:
Originally Posted by Broadside
Ok first off with updates to windows not sure but may have changed pc settings or maybe you have on accident for port opening. Although if your able to connect from another pc on your network it should be ok or if others can connect. This means its the person logging in is problem. Is the player fully patched to osi? If others cannot connect you made an error. Here is a commmon problem with routers. Sometimes you lock up and have to do a power cycle where you unplug it and this sometimes changes your server ip. Now instead of it being 192.168.1.103 it might be 192.168.1.104 so you need to go open up that port in router.
-> yes at first it was 192.168.1.100 but it changed to 192.168.1.104, i actually changed the forwarding to this new ip, but it still didnt worked.

Sotho Tal Ker -> I just put the mr.fixit serverlist that Aaron Sithsong [GOD] gave me in my misc folder, i relaunched runuo.

Aaron Sithsong [GOD] -> You are right, im currently testing, and im waiting to see if the bot of uogateway will come. It can takes 30 minutes. I will give you guys news if its working or not.
Thank you!

***Edit***
in my runuo windows, i still see this, can you tell me if its normal?
Code:
Address: 127.0.0.1:2593
Address: 192.168.1.104:2593

Last edited by Deikiel_Emeril; 11-27-2006 at 05:36 PM.
Deikiel_Emeril is offline   Reply With Quote
Old 11-27-2006, 09:04 PM   #14 (permalink)
Forum Newbie
 
Join Date: Jan 2006
Posts: 59
Default

nope.. im sorry it doesn't work with the mr. fixit serverlist.cs
Deikiel_Emeril is offline   Reply With Quote
Old 11-27-2006, 09:50 PM   #15 (permalink)
Forum Expert
 
WeEzL's Avatar
 
Join Date: Apr 2006
Location: The Great White North!
Age: 34
Posts: 887
Default

If you are trying to allow external players on your server, you cannot use a 192.168.X.X address. Those addresses are private addresses and are not publicly routable over the internet. You will need to change that to your public IP address (the address you got from www.whatismyip.com) if you wish people to access your server over the internet. Then you need to forward the port on your router to your private IP (the 192.168.X.X address). If your public IP doesn't appear to work, then it may be that your router is not correctly configured to forward the port or you have a software firewall (Windows Firewall maybe?) that is not set to allow that sort of traffic through. It will not be your Serverlist.cs file.

If you are only concerned with accessing your server from another computer within your home network (from behind your router), then your private IP is the value you want in that address line.
__________________
I R GEEK!
WeEzL is offline   Reply With Quote
Old 11-27-2006, 10:57 PM   #16 (permalink)
Forum Newbie
 
Join Date: Jan 2006
Posts: 59
Default

god damn silly me! I just figured out that window's firewall were activated... damn.. Thank you very much for your help guys.. if it still not works I will tell you.

Thank you!!
Deikiel_Emeril is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5