Go Back   RunUO - Ultima Online Emulation > RunUO > RunUO Post Archive

RunUO Post Archive The Archvie

Closed Thread
 
Thread Tools Display Modes
Old 06-02-2004, 11:54 PM   #1 (permalink)
 
Join Date: Aug 2003
Location: Australia
Age: 41
Posts: 198
Post Back to Basics RCO 1.0

Setting Up RunUO without a Router and Registering and Setting up UOGateway.

First you need to Download RunUO RCO 1.0 without .Net Framework, which can be found on the RunUO Site Here:-

http://www.runuo.com/downloads/index...=category&id=2

Next you need the .Net Framework which can be downloaded from the Microsoft Site. Here:-

http://msdn.microsoft.com/netframewo...s/default.aspx

You also need to Download UOGateway. Here:-

http://www.uogateway.com/uogateway.html

First you need a Fresh install of Ultima Online.

Install .Net Framework.

Install RunUO RCO 1.0

Delete all Shortcuts created by the install (they cause problems).
Create your own new Shortcut to RunUO.exe – DO NOT RUN.
Goto the Directory you installed RunUO RCO 1.0
Open \Scripts\Misc\ServerList.cs (Use NotePad to Edit)

Edit Server Name.


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 const string Address = null; //Do Not Change this unless behind a Router

		public const string ServerName = "YOUR SHARD NAME HERE ";

		public static void Initialize()
		{
			Listener.Port = 2593;

			EventSink.ServerList += new ServerListEventHandler( EventSink_ServerList );
		}

		public static void EventSink_ServerList( ServerListEventArgs e )
		{
			try
			{
				IPAddress ipAddr;

				if ( Resolve( Address != null && !IsLocalMachine( e.State ) ? Address : Dns.GetHostName(), out ipAddr ) )
					e.AddServer( ServerName, new IPEndPoint( ipAddr, Listener.Port ) );
				else
					e.Rejected = true;
			}
			catch
			{
				e.Rejected = true;
			}
		}

		public static bool Resolve( string addr, out IPAddress outValue )
		{
			try
			{
				outValue = IPAddress.Parse( addr );
				return true;
			}
			catch
			{
				try
				{
					IPHostEntry iphe = Dns.Resolve( addr );

					if ( iphe.AddressList.Length > 0 )
					{
						outValue = iphe.AddressList[iphe.AddressList.Length - 1];
						return true;
					}
				}
				catch
				{
				}
			}

			outValue = IPAddress.None;
			return false;
		}

		private static bool IsLocalMachine( NetState state )
		{
			Socket sock = state.Socket;

			IPAddress theirAddress = ((IPEndPoint)sock.RemoteEndPoint).Address;

			if ( IPAddress.IsLoopback( theirAddress ) )
				return true;

			bool contains = false;
			IPHostEntry iphe = Dns.Resolve( Dns.GetHostName() );

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

			return contains;
		}
	}
}
Close and Save.

Start RunUO RCO 1.0 Server

IF everything goes right you should be looking at a DOS/Command Type window with something like the following:-

Code:
 
Scripts: Compiling C# scripts...done (0 errors, 0 warnings)
Scripts: Compiling VB.net scripts...no files found.
Scripts: Verifying...done (1477 items, 421 mobiles)
World: Loading...done (143124 items, 25773 mobiles) (8.2 seconds)
Regions: Loading...done
Address: 127.0.0.1:2593
Address: 192.168.0.1:2593
Address: xxx.xxx.xx.xx:2593
During this part of the process you will be asked if you want to create an admin account. Type “Y”
Next enter a Password for the New Admin account.

The Admin account is your main work account, only use this account when you need to work on your Shard. Make yourself another account later if you just want to play.

If you see the above code in your DOS/Command window, with IP addresses, then your server is up and running. DO NOT CLOSE. Leave running in the background.

Next thing is to goto UOGateway Website = http://www.uogateway.com/ and Register your Shard and details.

Here’s How.

On the menu 3rd Subsection down is called "Shardlist" under this there is a link called "Add Public Server" click that.

It will take you to a new screen with rules, read them. If you agree click "Yes" at the bottom. New screen "Enter Your E-Mail" Submit.

Wait for e-mail to receive your Password. Once you have that, login (which is the next link under "Add Public Server" called "Edit Public Server/Login".

Here is where you fill in the relevant details.

GENERAL DETAILS:

Server Name = Your Server Name.

Description = A brief description about your Shard.

Webpage = Your Website URL.

Accountpage = ? (I left this blank)

Language = Eng

Roleplay = No/Yes

PvP = No/Yes

Macroing = No/Yes

Autoaccount = No/Yes

Server brand = RunUO

Hide settings page = Set to No

NEXT SECTION - CONNECTION:

Server dns or IP address = Your Internet IP

Server Port = Normally 2593

NEXT SECTION - SERVER ENCRYPTION:

Server encryption = Remove encryption/Keep encryption (set to Remove Encryption).

Thats about it, go to the bottom of the Page and click on the Button "Save Settings"

You are done. Now keep your shard online 24/7.

Now go back to the UOGateway Home Page.

On the Menu under "ShardList" 3rd link down is a link called "Veiw Public Servers" click that and you should go to a new page with a list of all registered Shards.

Restart your UOGateway Program, allow it to download the latest list.

Goto "Public Server List" on your UOGateway Program - Scroll down the list until you find your own shard. Click on it and you should get a copy of it move to "My Servers". Goto "My Servers" and click on your shard name. The client should then start automatically.

If everything has gone fine you should be looking at the log in screen.

Login as: Admin
Enter Password.

Now you should be In-Game as Administrator. From here I recommend making yourself a player account. Only use Admin account for doing modifications and working on the Shard. Anything else use your player account.

In your RunUO Console do you see the following:

Client: 80.212.156.35: Connected. [1 Online]
Client: 80.212.156.35: Disconnected. [0 Online]
Client: 80.212.156.35: Connected. [1 Online]
Client: 80.212.156.35: Disconnected. [0 Online]

If you do, this is the UOGateway Heartbeat. It checks every 30mins to make sure your shard in online. However if you are not getting this, then it is been blocked by something. Could be a firewall (Remember if you are running Windows XP it has an inbuilt Firewall). Also if you have a Virus Scanner active check that also, as some also have a Personal Firewall (disable it, the Firewall part, if it has one).

How do I find out my Internet IP?

Open your DOS/Command window and type: ipconfig <hit enter>

that should tell you your Internet IP and any Network IP's.

Use the Internet one. Also make sure its Static. Or all the above is going to the least of your problems.

For any extra information please refer to RunUO Forum FAQ Section.

http://www.runuo.com/forum/forumdisplay.php?f=18

Best of Luck,
Grae
Grae is offline  
Old 08-20-2004, 11:33 PM   #2 (permalink)
 
Join Date: Aug 2003
Location: Australia
Age: 41
Posts: 198
Post

If you are using a router then the following script is for you.

I do not have or use a router so I could not test it myself. And I do not take any credit for it as it was written by someone else. Thanks goes out to them.

Before using it, backup original ServerList.cs (rename it ServerList.old), make a new text file, copy the following script into the new text file and saveas ServerList (you need to edit the extension .txt to .cs). Also you will need to edit this script to suit your own needs to show the correct Internet address and Network address for your setup and also Server Name.

I have bolded the parts you will need to edit.

Code:
using Server;
using Server.Network;

namespace Server.Misc
{
public class ServerList
{
/* Address:
* 
* The default setting, a value of 'null', will attempt to detect your IP address automatically:
* private const string Address = null;
* 
* This detection, however, does not work for servers behind routers. If you're running behind a router, put in your IP:
* private const string Address = "12.34.56.78";
* 
* If you need to resolve a DNS host name, you can do that too:
* private const string Address = "shard.host.com";
*/

public const string Address = "your public IP here"; 

public const string LocalServerAddress = "your local IP here";

public const string ServerName = "server name here";

public static void Initialize()
{
Listener.Port = 2593;

EventSink.ServerList += new ServerListEventHandler( EventSink_ServerList );
}

public static void EventSink_ServerList( ServerListEventArgs e )
{
try
{
IPAddress ipAddr;
IPAddress LocalAddress = IPAddress.Parse( LocalServerAddress );


if ( Resolve( Address != null && !IsLocalMachine( e.State ) ? Address : Dns.GetHostName(), out ipAddr ) )
{
e.AddServer( ServerName, new IPEndPoint( ipAddr, Listener.Port ) );
e.AddServer( "Local Server", new IPEndPoint( LocalAddress, Listener.Port ) ); 
}
else
e.Rejected = true;
}
catch
{
e.Rejected = true;
}
}

public static bool Resolve( string addr, out IPAddress outValue )
{
try
{
outValue = IPAddress.Parse( addr );
return true;
}
catch
{
try
{
IPHostEntry iphe = Dns.Resolve( addr );

if ( iphe.AddressList.Length > 0 )
{
outValue = iphe.AddressList[iphe.AddressList.Length - 1];
return true;
}
}
catch
{
}
}

outValue = IPAddress.None;
return false;
}

private static bool IsLocalMachine( NetState state )
{
Socket sock = state.Socket;

IPAddress theirAddress = ((IPEndPoint)sock.RemoteEndPoint).Address;

if ( IPAddress.IsLoopback( theirAddress ) )
return true;

bool contains = false;
IPHostEntry iphe = Dns.Resolve( Dns.GetHostName() );

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

return contains;
}
}
}
I truely hope this helps those using routers (may not work with all routers). And again many thanks to the author of this script. If all else fails and this script does'nt work for you, try Mr.Fixit's. Most likely found on the UOGateway MessageBoards.

Good Luck.

Grae
Grae is offline  
Old 12-31-2004, 03:48 AM   #3 (permalink)
 
Join Date: Aug 2003
Location: Australia
Age: 41
Posts: 198
Default

If this Thread is of no use Please Remove it.
Grae is offline  
Old 02-24-2005, 04:09 PM   #4 (permalink)
 
Join Date: Nov 2003
Posts: 5
Send a message via AIM to oshio
Default

Thanks, I used it...I didn't know how to change that damned "Run Uo Test Center" thing....lol
oshio is offline  
Old 04-04-2005, 08:45 PM   #5 (permalink)
 
Join Date: Apr 2005
Age: 20
Posts: 6
Unhappy

Hmm i cant seem to get further than... well it shows me that im loged in but stays at the same pont and like it seems has no maps or worlds ....
And it doesnt recognize me as admin either i think ...
Lady_Ella is offline  
Old 04-05-2005, 04:16 PM   #6 (permalink)
Master of the Internet
 
Quantos's Avatar
 
Join Date: Apr 2003
Location: Edmonton, AB
Age: 41
Posts: 6,867
Send a message via ICQ to Quantos Send a message via AIM to Quantos Send a message via MSN to Quantos Send a message via Yahoo to Quantos
Default

Quote:
Originally Posted by Lady_Ella
Hmm i cant seem to get further than... well it shows me that im loged in but stays at the same pont and like it seems has no maps or worlds ....
And it doesnt recognize me as admin either i think ...
I am closing this thread as it leads a new user to assume some things that are just not true.

Lady Ella, please post a new support thread in the New Join Forum, this thread is a bad choice to try to get support in.

*Thread Closed.*
__________________
Paranoia is what happens when you finally have all of the facts.
Quantos is offline  
Closed Thread

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