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 08-04-2006, 11:39 AM   #1 (permalink)
Forum Newbie
 
Join Date: Jul 2006
Posts: 28
Default ip problems

ok, new to the runuo bit, but trying to open our own shard. Here is the issue we are running into. We have two IP's that show up when we open the run uo. One is our personal IP address, a 192 number, and the other is that 127 IP that is a loopback or whatever. We know the IP we are suppose to use, starts with 66. We have tried repeatedly to insert the 66 number into the scrips under the misc scrip for server list. But when we boot in the runuo, the other two IP's still show in the login, and the 66 number does not. CAn anyone help fix this problem so we can turn this shard public.
Steps we have taken thus far, though perhaps incorrectly, are:
Windows firewall access
Pcillin firewall access
Adding ip to runuo scripts/misc/serverlist
deleteing runuo and staring from scratch
Shayla Avenger is offline   Reply With Quote
Old 08-04-2006, 01:05 PM   #2 (permalink)
Forum Novice
 
flinn's Avatar
 
Join Date: Mar 2006
Posts: 209
Default Hope this helps

I've had the same issues, which I am still trying to figure out.
However, try adding the mr fix it serverlist 2.0, which seems you have not yet added, here is the link scroll down to 4.1, you will see it. I f this link does not work go to uogatway and click on serverlist faq's, and scroll down to 4.1.
Good Luck I feel your pain..
http://www.uogateway.com/faq.php?id=5
flinn is offline   Reply With Quote
Old 08-04-2006, 01:10 PM   #3 (permalink)
Forum Novice
 
penndragon's Avatar
 
Join Date: Apr 2004
Location: Tennessee
Age: 41
Posts: 119
Send a message via Yahoo to penndragon
Default

Make sure you have port forwarding for the runuo port and No-IP will help to keep the ip updated. No-IP.com is where to get it and it is a free service... Hope that helps.......
__________________
The only stupid question is the one not asked........ Just don't ask me..... I don't know either........ :D
penndragon is offline   Reply With Quote
Old 08-04-2006, 03:06 PM   #4 (permalink)
Forum Novice
 
Join Date: Apr 2005
Age: 39
Posts: 233
Default

Quote:
Originally Posted by Shayla Avenger
ok, new to the runuo bit, but trying to open our own shard. Here is the issue we are running into. We have two IP's that show up when we open the run uo. One is our personal IP address, a 192 number, and the other is that 127 IP that is a loopback or whatever. We know the IP we are suppose to use, starts with 66. We have tried repeatedly to insert the 66 number into the scrips under the misc scrip for server list. But when we boot in the runuo, the other two IP's still show in the login, and the 66 number does not. CAn anyone help fix this problem so we can turn this shard public.
Steps we have taken thus far, though perhaps incorrectly, are:
Windows firewall access
Pcillin firewall access
Adding ip to runuo scripts/misc/serverlist
deleteing runuo and staring from scratch
The 66 IP address will not show in your server window, just the 127 and the 192. That is normal.

As long as the port on your router is being forwarded to the 192 of the server, it should work fine.
Geezer is offline   Reply With Quote
Old 08-05-2006, 11:30 AM   #5 (permalink)
Forum Newbie
 
Join Date: Jul 2006
Posts: 28
Default Ip problems

Ok, we have tried those things, as well as adding the new links and changing the various parts of the scripts ... thanks for the info on the 66 not needing to be in the runuo window, that was one thing we were worried about. Still cannot seem to log into the shard though, with our second comp. We are sharing a router, and wondering if perhaps that is why we can't both get into it, same ip address and all. Is there a way for us both to get into the shard and work on it, from the same IP. And if the answer is yes then, HELP!!!!, lol. I am assuming that when we do get added to the shard list for uo gateway, that others will be able to get in, guess we will have to cross that hurdle when we get into it.
Shayla Avenger is offline   Reply With Quote
Old 08-05-2006, 03:21 PM   #6 (permalink)
Forum Expert
 
Join Date: Apr 2004
Location: Lawton OK
Age: 33
Posts: 476
Default

when trying to connect what happens? does the second client hang? what is displayed in the console window? is the second client and the server client all patched to the same version?


EDIT: also please post your serverlist.cs in code tags
slithers is offline   Reply With Quote
Old 08-05-2006, 03:30 PM   #7 (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

Try this and let me know what ya get out of it. http://www.portforward.com/

If you have a linksys router check this out. server issues?
__________________
Broadside ~AkA~ Bad Karma
Broadside is offline   Reply With Quote
Old 08-05-2006, 08:43 PM   #8 (permalink)
Forum Newbie
 
Join Date: Jul 2006
Posts: 28
Default Problems continued

Broadside, we have have tried and presumably done the forwarding correctly already. So we have passed that point,

Slithers: When we try to connect with second comp, all it does is freeze up at connecting, then , several moments later, we get a cannot connect message. Originally we were getting the samari, or however you spell it, version in the second comp. now we both get the mondains window, but stuill not connecting. I am posting this on the second comp, so cant pull up serverlist,cs for you at the moment. But she has edited that with ... serverlist.cs.2.o, as well as mr fixit download. And still we are not able to connect both comps to shard. She will post another thread after this one with that serverlist.cs thingy.
Shayla Avenger is offline   Reply With Quote
Old 08-05-2006, 08:46 PM   #9 (permalink)
Forum Newbie
 
Join Date: Jul 2006
Posts: 28
Default problems cont. part 2

// ================================================== ================================================
// 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 = "ShangraiLa";

// ================================================== ================================
// YOUR INTERNET IP OR DNS NAME
// Here you can select to autodetect your internet ip, or manualy specify
// Examples:
// public static string Address = "66.218.229.152";
// public static string Address = "shard.host.com";
// ================================================== ================================
public const bool InternetIPAutodetect = true;
public const int MinutesBetweenIPAutodetect = 1440;
public static string Address = "66.218.229.152";

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

}
}


this is the serverlist.cs i have on it at the moment
Shayla Avenger is offline   Reply With Quote
Old 08-06-2006, 03:39 PM   #10 (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

Code Tags...

And... do you see the connection attempts in the server console?
Sotho Tal Ker is offline   Reply With Quote
Old 08-07-2006, 10:49 AM   #11 (permalink)
Forum Newbie
 
Join Date: Jul 2006
Posts: 28
Default ip prob cont.

no, i don't see anyone trying to connect except with the admin account
Shayla Avenger is offline   Reply With Quote
Old 08-07-2006, 10:56 AM   #12 (permalink)
Forum Novice
 
Join Date: Nov 2003
Age: 33
Posts: 208
Send a message via ICQ to Gembone Send a message via AIM to Gembone Send a message via MSN to Gembone
Default

you can connect with the other system from behind the router with the 192 # you have in the server window.
and can connect to the server directly on the same comp as the server with the 127 #. this will not solve your outside conection issues but will allow you bot to work on it until you can work out the router issues
__________________
Death comes for us ALL
Gembone is offline   Reply With Quote
Old 08-07-2006, 11:24 AM   #13 (permalink)
Forum Expert
 
Join Date: Apr 2004
Location: Lawton OK
Age: 33
Posts: 476
Default

Quote:
Originally Posted by Shayla Avenger
no, i don't see anyone trying to connect except with the admin account
if your not seeing the attempt in the console window that means port forwarding is not set up correctly. ie no traffic outside the local host is making it to the host computer.
slithers 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