|
||
|
|||||||
| Server Support on Windows Get (and give) support on general questions related to the RunUO server itself. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Forum Expert
|
I am currently trying to bring my server back up after having moved and not used in a few months.
Where I moved to i had to get verizon for our internet, and I am behind an actiontec router. I have the port forwards set up (i believe) but things don't seem to be going through properly. I have updated my Serverlist.cs and i can connect through the local IP just fine. any help or suggestions? EDIT: The connectUO ip (i think) can make it through it seems though. Last edited by Pyro-Tech; 07-01-2008 at 12:58 AM. |
|
|
|
|
|
#2 (permalink) |
|
Forum Expert
|
UPDATE: I have found looking through some other posts some usefull bits...nothing directly pertaining to me but stuff that helps.
I used the open port check tool and found that traffic can make it to the port. So it must be something with UO? I am using 6.0.1.6 (patch 53) of UO and RunUO RC 1 as of this moment. |
|
|
|
|
|
#3 (permalink) |
|
Forum Novice
|
Hey Pyro.
If you mind still try this out on your server machine: µTorrent Port Checker If it says OK! (like you said that it should be ok) then everything is fine. Now you need to figure out do you have a static ip. Static IP is a fixed ip so it wont change and its give to your connection port trough the ISP's DSLAM. Easiest way to check this is connect new network adapter to machine (cause it have different MAC address) and you will see if you get new IP from dhcp server ![]() If you have static IP then go place it in your ServerList.cs NEEEXT lets check that you dont have some weird proxys :O (you never know) on your server machine goto: What Is My IP Address? - IP Address Lookup, Info, Speed Test, and more and see if its the same IP that your network adapter haves on the server machine. If it is, thats good. Then it means you have the public IP on your machine correctly set and is available trough 2593 port... If this didnt help any, post again. Thanks! |
|
|
|
|
|
#4 (permalink) |
|
Forum Expert
|
well so far everything check out....i go through no-IP.com cause verizon does a dynamic IP.
I can get connections that show on the RunUO console from what i think is ConnectUO, and i even get a response from the open port checker website. I can connect to my game locally. I have downloaded and installed Mr. Fixit's serverlist Within connect UO i have tried using the dns name and the raw current IP with no luck i honestly don't think it's anyting with my internet due to the fact that i can get connections from outside the network....what throws me off is i can play locally fine with the local IP. so where is the hic-up? does UO need certain ports open? |
|
|
|
|
|
#5 (permalink) |
|
Forum Novice
|
Hmm... Could you give me your IP, throw it to my PM if you dont want to publish it...
Back to problem. It seems really weird. The only possibility is the server then... im running out of ideas. Try using the default ServerList.cs lets see take it from RC2 or something and then try again. Thanks! |
|
|
|
|
|
#7 (permalink) | |
|
Forum Novice
Join Date: Jan 2006
Posts: 313
|
Quote:
![]() |
|
|
|
|
|
|
#8 (permalink) | |
|
Forum Novice
|
Quote:
Thanks! Last edited by Tumeski; 07-01-2008 at 08:02 PM. |
|
|
|
|
|
|
#11 (permalink) |
|
Forum Expert
|
no-ip.org is what im using
darkwindonline.no-ip.org Port 2593 Currently my IP is: 96.230.207.74 if you wanted to try that route Here is my serverlist.cs: 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).
// 2.1 Callandor2k Made compatible with svn 278.
// AKA Changed the way it writes to console and added a few console lines.
// Shai'Tan Malkier Removed findmyip.com. 3 edits are required. ServerName, Address and Local Lan IP.
// Check the port address on line 208 to make sure its the one you use in SocketOptions.cs.
// ==================================================================================================
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using Server;
using Server.Misc;
using Server.Network;
namespace Server.Misc
{
public class ServerList
{
// ==================================================================================
// YOUR SERVERS NAME
// ==================================================================================
public const string ServerName = "Darkwind Online 3.0"; // Server Name Goes Here
// ==================================================================================
// 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 = "darkwindonline.no-ip.org"; // Server Address Goes Here
// ==================================================================================
// 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()
{
// ----------------------------------------------------
// Load the local LAN ip ranges.
// Remove the // on section you need or create your own
// ----------------------------------------------------
//AddLocalLANIPRange("10.0.0.0", "10.255.255.255");
//AddLocalLANIPRange("192.168.1.100", "192.168.1.110");
//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.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>");
// ----------------------------------------------------
// Create the event
// ----------------------------------------------------
EventSink.ServerList += new ServerListEventHandler( EventSink_ServerList );
// ----------------------------------------------------
// 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, 2593 ));// Place the port that you are using here.
} 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("-------------------------------------------------------------------------------");
Console.WriteLine("Serverlist.cs: 2.1");
Console.WriteLine("{0} ({1})", ServerName, Address);
Console.WriteLine("You are using Internet IP : {0}", MyIP);
Console.WriteLine("IP found by: ({0})", AutoIPMirrors[UseMirror].sURL);
Console.WriteLine("-------------------------------------------------------------------------------");
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.GetHostEntry( addr );
if ( iphe.AddressList.Length > 0 )
{
outValue = iphe.AddressList[iphe.AddressList.Length - 1];
return true;
}
}
catch
{
}
}
outValue = IPAddress.None;
return false;
}
}
}
Code:
02/07-00:21 02/07-00:21 -------------------------------------------------------------------- ----------- 02/07-00:21 Serverlist.cs: 2.1 02/07-00:21 Darkwind Online 3.0 (darkwindonline.no-ip.org) 02/07-00:21 You are using Internet IP : 96.230.207.74 02/07-00:21 IP found by: (http://www.ipaddy.com/) 02/07-00:21 -------------------------------------------------------------------- ----------- 02/07-00:21 Searches: Initializing.... 02/07-00:21 Milt's Fully Automated Tournament System...Initialized 02/07-00:21 Pandora is listening on port 8035 - BoxServer version 0.3 02/07-00:21 Address: 127.0.0.1:2593 02/07-00:21 Address: 192.168.1.101:2593 02/07-00:21 CC initialized... 02/07-00:21 Time System: Version 2.0.6 loading... 02/07-00:21 Time System: Logging is enabled. 02/07-00:21 Time System: SelfInstaller is disabled. 02/07-00:21 Time System: Calculated managed lights list and found 80 lights. 02/07-00:21 Time System: Loading complete. 02/07-00:21 Time System: It is 5:08 PM on the 2nd of November, 102. The moon is new. 02/07-00:21 UO Architect Server for RunUO 2.0 is listening on port 2594 02/07-00:21 Warning: 3 bad spawns detected, logged: 'badspawn.log' 02/07-00:21 TransferServer version 1.05 listening on port 8030 02/07-00:21 Lottery System Tick. 02/07-00:21 Season: Summer Code:
01/07-23:44 Client: 209.173.139.11: Connected. [1 Online] 01/07-23:44 Client: 209.173.139.11: Disconnected. [0 Online] 01/07-23:59 Client: 209.173.139.11: Connected. [1 Online] 01/07-23:59 Client: 209.173.139.11: Disconnected. [0 Online] 02/07-00:00 Reports: Stats: Save started 02/07-00:00 Reports: Stats: Save complete 02/07-00:00 Reports: Staff: Save started 02/07-00:00 Reports: Staff: Save complete 02/07-00:00 Reports: Stats: Render started 02/07-00:00 Reports: Stats: Render complete 02/07-00:00 Reports: Staff: Render started 02/07-00:00 Reports: Staff: Render complete 02/07-00:04 Lottery System Tick. 02/07-00:06 Core: Using standard save strategy 02/07-00:06 World: Saving...Saving Jailings 02/07-00:06 Jailings Saved 02/07-00:06 ---------- 02/07-00:06 Saving ACC... 02/07-00:06 - Saving Central Memory...Flushed...Done. 02/07-00:06 - Saving Public Gates...Done. 02/07-00:06 Done in 0.0 seconds. 02/07-00:06 ---------- 02/07-00:06 done in 0.64 seconds. 02/07-00:06 Time System: Saving complete. 02/07-00:15 Client: 209.173.139.11: Connected. [1 Online] 02/07-00:15 Client: 209.173.139.11: Disconnected. [0 Online] |
|
|
|
|
|
#12 (permalink) |
|
Forum Novice
Join Date: Jan 2006
Posts: 313
|
It could be that the LinkSys router will forward traffic not on port 80; however, I know that my D-Link router won't. From the description of your problem, and the fact that you are getting pinged from outside, it's almost certain that your router is not forward the traffic when it's coming from inside the LAN.
|
|
|
|
|
|
#13 (permalink) |
|
Forum Expert
|
ok....i will try something....i have a seperate network i can maybe try it on within a day or so.
It's the actiontec router that im having problems with by the way. The linksys one would actually forward from within the network...which is why im having problems now. thanks for all the help guys....if anyone has anymore suggestions please post |
|
|
|
|
|
#14 (permalink) | |
|
Forum Novice
|
Quote:
|
|
|
|
|
|
|
#16 (permalink) |
|
Account Terminated
Join Date: Jul 2006
Age: 29
Posts: 240
|
no no.. unless you have some external routing you can not go out and back in right away.. its impossible to be connected like that. use an internal IP address like 127.0.0.1 or 192.168.0.* - check what your internal ip address is through - start/run - CMD - type ipconfig
|
|
|
|
|
|
#17 (permalink) |
|
Forum Expert
|
but im telling you, that is what i used to do where i used to live on our linksys router. That way on UOgateway/ConnectUO i didn't have to set up a local connection and load patches manually on my UO install.
either way....it seems to be working now. thanks again for the help guys. |
|
|
|
|
|
#18 (permalink) | |
|
Forum Novice
|
Quote:
Try connectin with "localhost" instead of "127.0.0.1". It really makes kind of no difference.... |
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|