|Well of Souls:
Hall of Heroes
Beta Testers Page
World Dev Pages
|The goal of
this page is to help you work your way through
problems caused by your network configuration,
including firewalls, routers, and proxies. This page might get kind of long
and rambling, so if you don't see your problem
answered right up front, please read the whole
page with a sense of quiet, but hopeful,
Also, you might check out the FAQs
and the MIX forum.
Super Frequently Asked
The page is
written mainly from the perspective of Well
but this information should also apply to Arcadia and Rocket Club.
PROBLEMS AND QUESTIONS
|WHAT IS A PORT AND WHAT IS
AN IP ADDRESS?
This page says 'port' a
lot, and it might help to know what a port is,
more or less. And let's start by explaining the
difference between a port and an IP Address.
An IP address is
that number that looks like
"126.96.36.199" (four numbers separated
by periods). Is it a big secret?
If the Internet
were the US Postal Service, your IP address would
be the 'street address' written on the outside of
the envelope. And your computer is the 'house' in
question. It's all the Internet needs to carry a
packet of information from anywhere in the world
all the way to the computer with that address.
But, much as
your house has many people living in it (have you
looked under the stairs lately?), your computer
has many programs running on it, all of which
might potentially want to receive mail of their
A Port is a
number (between 0 and 65535) which is like the
name of the person to whom the packet is
intended. Two programs running at the same time
on your computer cannot share the same port
combination of the IP Address and the Port
Number, are what make sure that a particular
letter (packet) makes it to its final
thinks of each IP address as being the address of
a single computer. But you can actually set up a
network of computers in your home, which then
share the same IP address through a router.
Note: While any
port number in the range of 0-65535 is 'legal',
many of them have very special meanings (like
port 80 is used for a web server program). For
games, you usually want to use numbers in the
thousands. I like using 8000 for WoS.
|WHAT IS A FIREWALL?
A firewall is a computer
program which sits between the game and the
Internet. It might be built into your ISP, your
modem, your router, your computer, or the
computer which is hosting your Windows Internet
packet comes in from the Internet, the firewall
looks at it first and may decide to throw it
away, rather than pass it along to your computer.
It does this to protect you from evil hackers and
The most common
firewalls in the WoS community are the one built
into Windows XP, and the one provided by
your cable modem ISP.
mainly concerned with IP addresses and Ports and know a certain
number of ports which should always be allowed
(or your computer just won't work) and some that
might occasionally be allowed.
the firewall knows nothing about the ports used
by your games, and will block them unless you
tell itl not to.
functionality is different from that of a router, since the firewall is
only concerned with security and throwing packets
away, while the router is concerned with
forwarding data to the appropriate computer on
the network. What is confusing is that so many
products mix the router and firewall
functionality into a single box. It's perfectly
OK to do this, just adds to the confusion.
Your firewall is
probably more concerned with unexpected incoming
packets than it is worried about outgoing data.
So you may find that your firewall doesn't
prevent you from playing a game, but does prevent
you from hosting a server for that game.
You can read
about opening ports for WoS with the XP Firewall here.
|WHAT IS A ROUTER,
AND WHAT IS PORT FORWARDING?
The Internet maintains a
giant 'address book' of all the IP addresses in use (this is called
the Domain Name Service, or DNS). In general
there is only one computer per IP address. (and
since there are at most 4 billion unique IP
addresses, it means we will run out of them
sometime soon... not really... well.. sort of..
but there's a plan..)
Also, you have
to pay money for an IP address (your ISP charges
you for it), so if you have several computers in
your house, you might have opted to save a couple
bucks and only buy one IP address which is then
shared between your computers. In this case, you
must have some sort of router.
A router is a
computer which is on the Internet (so it has its
own IP address -- the REAL IP address.. the one
which is registered in the DNS and the one which
other people can send packets to.)
The router then
sits between the Internet and your LAN (Local
Area Network). The computers on your LAN *think*
they have individual IP addresses, but really
they have 'fake' (or LOCAL) IP addresses. Only
your router knows about these fake IP Addresses.
usually look like this:
When a computer
on the LAN sends a packet out into the Internet,
it travels through the router and the router
changes the LOCAL IP address into the REAL IP
address. So everyone thinks the packet came from
the router, and if they 'reply' to the packet,
that reply will go to the router (not the
computer on the LAN).
When a packet
comes in from the Internet, it comes to the
router first and the router has to figure out
which computer on the LAN should get it.
In general, the
router figures this out based on the port number used. It looks up in a
list it has of which computers on the LAN asked
to use which port numbers, then it forwards the
packet to that computer.
Now, if you only
have one computer on your LAN, you can probably
tell your router to forward ALL packets to that
one computer. This sounds sort of silly (why did
you get that router in the first place?) but it
may not be completely silly, since your router
and your computer might actually be the same box.
For example, if you use Windows "Internet
Connection Sharing" then ONE of your
computers (the one which is actually connected to
the Internet) IS the router.
But in my
experience, most people with separate routers use
one made by LinkSys and I ask you to check out their
web site for details on port forwarding.
To give a
general example of port forwarding, without going
into the details of configuring a particular
router, let's say:
- You have a
a router with REAL ip address
- You have a
couple of computers on a LAN behind that
- You are
running WoS on the computer with LOCAL IP
- You have told WoS to use
- You are
running WoS, and have opened port 8000 on
You need to tell
your router, that if it gets any incoming packets
on port 8000, it should forward them to the
computer at 10.10.10.1 (and keep the port number
If you were also
running WoS on the second computer behind your
firewall, you would need to tell THAT computer to
use a DIFFERENT port number, then have your
router forward THAT port number to the other
local IP address.
|WHAT IS A PROXY?
In general a Proxy, or
Proxy Server, is a computer that you ask to do
something on your behalf. In this case what I
really mean is a web proxy.
fetches files from the synthetic-reality web
site. And unless you tell it otherwise, it will
try to connect directly to the web site.
Your LAN (Local
Area Network) may have decided to not let
computers on the LAN do that. They might have a
good reason, like they want to ensure security
and maybe even cache popular web pages locally.
Or they may have a bad reason, like they are anal
pricks and want to monitor your Internet browsing
while at work.
In any case, if
your computer has to use a Web Proxy, and you
don't tell Wos to use it, then WoS will be unable
to fetch the files it needs, and you will be
unable to play.
The way a web
proxy works is like this:
- You type
some url into your browser, like "www.synthetic-reality.com"
- Without a
proxy, your browser would look up the IP
address of synthetic-reality.com and then
make a web page fetch request directly to
that IP address
- With a
proxy, your browser sends the request to
your proxy server, and it is your proxy
server which looks up the IP address and
fetches the page, then it returns the
page contents back to your browser
browser doesn't know if the page really
came from the site, or from some old copy
of the web page that the proxy had stored
on its disk drive.
- The proxy
keeps a record of every page you fetch,
so your boss can see if you are browsing
porn sites from work.
In general, I
think proxies are a sin against the Internet
since at best they slow down the fetch and cache
stale copies of pages, and at worst they just
plain make things break. So, of course, AOL uses
tons of proxies. Which is why it is hard to get
the latest game patches when on AOL.
Which is not to
say you should be surfing the web while at work
(for porn or otherwise) unless for solid work
|WHAT ARE TCP AND UDP
TCP and UDP are
'protocols' which just means they are agreed upon
methods implemented in a standard way such that
any two standards-based computers can use them
and achieve the expected result.
protocols are concerned with data from one
computer to another.
Data gets lumped
together into small packets of a few hundred
bytes (think 'characters' if you prefer). And
then the packet is sent as a whole from one
computer to another via the Internet.
To get from the
source computer to the destination computer, your
packet will probably have to 'hop' across the
network from one computer to another (these
in-between computers are generally called
'switches'). You might be, for example, 10
switches away from the destination computer.
the UDP protocol (Universal Datagram Protocol),
each packet is like an envelope which has the
complete mailing address of both the sender and
the receiving computers. Hence whenever a switch
sees such a packet, it knows exactly where it
needs to send it, so it moves it along towards
its destination. But those addresses are kinda
long, and add a bit of overhead to your data, so
the packet is somewhat large (and therefore a bit
slower to be sent, since bandwidth is limited in
some places along its journey.)
Also, if your
computer sends two UDP packets in a row, they may
not both take the same path across the Internet
(there may be more than one series of hops the
packet can take to get from the source to the
destination, and each switch is allowed to pick
the 'best' hop at the time, which can vary with
how busy the link is from one switch to another.)
So UDP packets are not guaranteed to arrive 'in
order' at the destination. In fact, they are not
GUARANTEED to arrive at all!
the TCP Protocol (Terminal Control Protocol), you
actually form a 'connection' between the source
and destination computers by sending a special
packet at the start. As this packet hops from
your source computer to the destination, each
switch along the way writes down a little note
about it. Then subsequent packets don't need the
full address info in them, they just need a
'connection number' which the switches can use to
route all the packets exactly the same way.
This makes the
individual packets somewhat smaller (therefore
faster), and the switch's job easier since it
doesn't have to think about the best way to send
every packet. Plus the packets arrive at the
destination in the same order they were sent.
PLUS, the TCP
protocol includes some special error detection
logic which lets it re-send any packets which it
feels might have gotten dropped along the way, so
TCP is considered a 'reliable' transport
mechanism, in that it guarantees all your data
will be delivered... eventually. (unless the
computers actually shut down)
So, why would
anyone use UDP if its unreliable, un-ordered, and
Well, the bottom
line is that you pay some extra expenses for
using TCP. The Internet itself is just as
unreliable for an individual TCP packet as a UDP
one. And if a TCP packet gets lost, there may be
a delay of several SECONDS before the other side
realizes it needs to re-send it. Hence your
stream of data will occasionally pause for
SECONDS at a time.
UDP, on the
other hand, just passes the data when it gets it,
adds no extra thinking to it, and is good for
sending rapid periodic data blobs, where you
don't really care too much about the missing ones
(or where you implement your very own reliability
on top of UDP itself)
something bad happens to a switch, UDP packets
can nimbly dance around that switch. But if
something bad happens to a switch which is part
of your TCP connection, well, your connection is
broken unless the switch was smart enough to know
it was going to die, and transfer all its smarts
to another switch before it explodes. (Switches
are pretty darn smart these days).
goal of the Internet was to be able to still send
data after a nuke took out some portion of the
infrastructure. UDP is more true to that goal.
But TCP can do the same thing if you are willing
to re-connect after the nuke hits :-) "Dang,
there goes Houston! Honey, would you reconnect to
the MIX server again for me?"
|WHAT PORTS DO
WoS and Arcadia can use
several ports at the same time, but
you can control which ports those are (mostly).
Let's say you want to use the default ports, just
to keep everyone's life simple:
- Run WoS or
Arcadia and get to the "Where Do You
Want To Play Today" dialog.
- Click the
CONFIGURE NETWORK OPTIONS button
- There are
two fields in question "UDP
PORT" and "TCP PORT"
(in older versions these are called
"UDP SOCKET" and "TELNET
- Set them
both to 8000
- OK the
- Restart WoS
if you made any changes
exceptions. First off, you don't have to use
8000, but I guess I recommend you use that unless
you have some compelling reason not to.
compelling reason would be if you wanted to run
WoS at the same time on two computers which were
behind the same router. Those two copies of WoS
would need to use different ports, and your
router would have to be configured to forward one
port to one computer and the other port to the
handwaving is that WoS/Arcadia might need more
than one port. If so they will START at the one
you defined (8000 here) and then, if that is not
available, they will try 8001, 8002, etc.
So in the
example of two computers behind the same router,
you might want to think in terms of port ranges,
rather than individual ports. You might then
forward all ports from 8000 to 8999 to one
computer and 9000 to 9999 to the other.
|WHAT PORTS DOES
Usually you launch your
copy of MIX from within the game (by pressing the
MAKE NEW SERVER button when looking at the list
of available MIX servers.)
This opens a
dialog which lets you specify the name and port
of that server. If you leave the port number set to 0, a port will be
picked at random. If you are behind a firewall or router, that's probably not
going to work.
So in that case
you need to pick a good port number. What makes a
good port number?
- It isn't
already in use. For example, if you told WoS to
use port 8000, then you can't have MIX
use that same port.
- It isn't
some 'special port' (use something over
5000 and you'll probably be ok)
- It's a
legal value (ok, use something between
5000 and 32767 just to play it safe)
- Use 8888
and be like the rest of us. That's the
official default port.
Some trial and
error may be required, if you run lots of
programs at the same time. And if you run more
than one copy of MIX on the same PC, be sure to
give each one its own port number.
And remember, if
you are behind a firewall or router, you need to
set them up to handle the MIX ports the same as
you would the WoS ports. So pick a number... say
8888... and always use that for MIX, and configure your firewall to let UDP and TCP in/out
on that port, and tell your router how to forward that port to the computer which is
|WHAT PORTS DOES
ROCKET CLUB USE?
This is easy. As of this
writing, Rocket Club uses port 21000. The Hub
uses port 20999. Rocket Club may use TCP or UDP
on these ports. You will definitely need to open
21000 through your firewall for both TCP and UDP, and forward it through your router, if you have one.
Chances are you
won't need to do anything special for 20999, but
if I am wrong, well, just do the same thing that
you did for 21000.
|HOW DO I OPEN
PORTS WITH THE WINDOWS XP FIREWALL?
I refer you to the
Windows documentation on this subject:
For WoS you need
to tell WoS which ports to
then open those ports for both TCP and UDP data.
If you told WoS
to use port 8000 for both TCP and UDP, then you
should open ports 8000 and 8001 in the firewall for both TCP and UDP. You might
only need 8000, but having an extra port gives
WoS some leeway and might be mandatory to share
So, for example,
you would add the following four 'services' to
your XP firewall:
- WoS 8000
- WoS 8000
- WoS 8001
- WoS 8001
And if you plan
to host a MIX server at the same time, and have
told MIX to use port 8888, then add these as well:
- MIX 8888
- MIX 8888
|HOW DO I FORWARD
PORTS WITH A LINKSYS ROUTER?
I do not know. I do not
Please check out
the LinkSys website. Or you can read
what I wrote about routers in general. This link
from the LinkSys site might be useful:
But when you DO
forward ports, you will want to remember to
forward both TCP and UDP protocols for each port.
Which might look something like this:
And you should
include both your WoS port and your MIX port if
you want to run a MIX server. And remember that
if WoS and MIX are running on the same computer,
they cannot use the same port. The 'private IP
address' is the "Local" IP address of your computer on your
local area network.
that for skin transfers, WoS might need to use a
recommend the following:
- Tell WoS to use
- Tell MIX to use
- Tell your router to forward the
- Tell your firewall to accept that
same port list
|HOW DO I TELL
WOS/ARCADIA TO USE MY PROXY SERVER?
First you need to know
the IP address and port of your proxy server (assuming you have one).
I think the easiest way to do that is to ask your
copy of Internet Explorer (Example is for a
Windows XP machine).
- Run a copy
of Internet Explorer
TOOLS/Internet Options from the MENU BAR
- Click on
the CONNECTIONS tab
- Click on
the LAN SETTINGS button.
- Look for
the section called "Proxy
Server" and write down the ADDRESS
and PORT values.
If the "Use
a Proxy Server" checkbox is not checked,
then IE doesn't know about your Proxy server. So
either you don't have one... or... you haven't
set up IE to use it. Either way, there is no
point continuing here.
Now, we need the
IP Address of the proxy server. If
what you wrote down was four numbers separated by
periods (like "188.8.131.52") then
you're set! But if what you saw as the address
was words like "some.computer.name.net"
then you need to translate that into the numeric
form. One way to do that is as follows:
- Open a
'cmd' window (START button, RUN, then
type 'cmd' and press ENTER)
- you should
get a 'DOS Window'
<-- use the actual name you got
If all goes
well, that will print some lines that look like
Reply from 184.108.40.206: bytes=32 time=16ms
And the IP
Address you need is the bit just after the
So, at this
point you have learned two valuable numbers:
Proxy Port Number: p
If not, then
there is no point continuing.
So, now, here is
how to tell WoS/Arcadia to use that proxy:
- Run the
- Get to the
"Where do you want to play
- Press the
CONFIGURE NETWORK OPTIONS button
- Press the
PROXY SETTINGS button
- Check the
"Use Proxy Server" checkbox
- Fill in the
Proxy Server IP Address and Port number
with the hard-won values
- OK the
dialogs, then restart the game.
Note: Do NOT
tell the game to use a proxy server, if you don't
actually HAVE a proxy server.
|DO I NEED TO KEEP
MY IP ADDRESS A SECRET?
You probably think your
IP address is a big secret, and that if a hacker
finds out your IP address, you will immediately
get your hard drive re-formatted.
You are mostly
wrong. It's generally a good idea to not tell
people your IP address, but it is certainly no
secret. So you don't want to depend on secrecy to
But even if
someone knows your IP address, they can't do
anything evil to your computer unless:
- You set up
your computer to let people do evil
- They know
about some bug in Windows which lets them
do some evil things.
Nowadays, it is
mostly that second case you need to worry about.
This is why you should regularly check the
WINDOWS UPDATE site and keep up with the critical
updates from Microsoft. You can get to WINDOWS
UPDATE via your START button on the desktop.
But you will
find, if you watch your firewall logs, that your
computer is CONSTANTLY being probed by internet
worms who are just trying IP addresses at random,
then looking to see if they have not fixed
various windows bugs. So stay up to date!
|MY MIX SERVER
LIST IS EMPTY
Assuming there is nothing
wrong with the Internet, there really are servers
up, and you haven't been banned for some reason,
there are several reasons why your MIX server
list might be empty.
Check out the
text shown above the list.
list of MIX servers from last known mixmaster
If you see this
message above the empty MIX list, it probably
means you are behind a web proxy server, and you need to tell WoS to use the proxy
fetching web pages.
list of MIX servers from mixmaster Server"
If you see this
message for a long time with no results, it
probably means that a firewall is blocking your UDP packets to
the Master Server, or your router doesn't know how to
forward the UDP responses back to the game.
|I See MIX Servers
on the List, but it says 'Waiting For Server
If it just says this for
SOME servers on the list, then, well, you are
just waiting for a ping response from those
particular servers. They may be broken, the
Internet between you and them may be broken, or
the ping packets might just have been dropped on
the floor. They may also not have configured
THEIR firewall/router correctly. Just try again
But if you see
this for ALL the servers on the list, then you
probably have a firewall which is blocking UDP packets
between you and those servers, or a router which doesn't know how
to forward the ping responses back to the game.
|I seem to have
lost my network connection shortly after
If you see this message
in the chat area:
seem to have lost your network connection"
Then it means
something disconnected you from the MIX server.
This could be from just about anything. But if it
happens consistently just after you connect to
the MIX server (and you haven't been banned from
that server by its admin), then it probably means
that you have a firewall which is only allowing TCP
connections to stay up for a few seconds
(acceptable for most web page fetches, but not
for most games).
Or the person
hosting the server has a firewall or router problem. In that case,
however, it would not happen to you on EVERY
server you visited.
|When I host a MIX
server, it never appears on the server list
Assuming you can play the
game on someone else's server (if not, please fix
that first), then you probably have not told your
firewall and/or router about the port you used for MIX.
You need to open
your firewall for both UDP and TCP traffic on the
MIX port, and tell your router to forward the MIX
port to the computer which is running MIX.
If you run
several copies of MIX at the same time, you need
a separate port for each copy, and must open the
firewall and configure the router for each port.
Your copy of MIX
will only appear on the MIX Server List if you
have enabled it as a PUBLIC MIX SERVER (there is
a checkbox for that on the MIX window).
cannot host a MIX server if you have a Web Proxy Server
NOTE: You should
also check to make sure you have not gotten
banned from your own server! Press the BanIP
button and think about who all is on it. You can
easily ban yourself if you make two connections
to your server from the same IP address and have
not specifically allowed that.
|When I host a MIX
server, no one can ping it or connect to it.
server appears in the MIX server list, it sounds
like MIX is running on a PC which is protected by
a firewall which has not been told
to allow UDP access to the port that MIX is working with.
Or UDP Port
forwarding has not been enabled in your router.
Or your router
is making up a temporary port number which is not
being forwarded. Since the release of MIX version
1.22 there is a new checkbox next to the edit box
where you enter the port number. It has the
highly descriptive label of "!!"
When you set the
"!!" checkbox, you are telling the
master server to publish the port you entered, as
opposed to the temporary port your router made
up. You will definitely need to have
port-forwarded that port in your router, but this
might make a difference for you. Just try it and
see if it helps. After changing the state of the
"!!" checkbox, it might take 5 minutes
or so to take effect, so be patient (or toggle
the 'make my server public' checkbox to force
your copy of MIX to check in again sooner.)
|I can't connect
to my own MIX server, but other people can.
If you are 100% positive
that other people are seeing your server on the
MIX lists, getting a good ping from it,
connecting to it, not losing their connections
shortly thereafter, and are able to see each
other in the game and play, then... ok, you're
the only one who can't play on your server.
Otherwise, please keep researching the real
But if you are
really the only one who can't get there, then the
most likely explanation is that you have somehow
managed to ban yourself. Rummage around on the
MIX interface and you will see it is possible to
ban people in the following ways:
- By IP
Address. (Is your IP showing up as maybe
'suspicious packet activity'?)
- By Serial
Number (Is your soul ID on the list?)
You can remove
any ban you see, by using the appropriate dialog.
banning per se, there are other MIX settings
which can have an effect. One of the more common
ones is the "Allow Multiple Connections from
Same IP" checkbox. If everyone on your LAN
is sharing an IP address, you won't be able to
have more than one player connected without
allowing this option.
|I don't like to
read, just boss me around a little
OK, I declare that you
are using Windows XP Firewall with a Linksys Router and want to run WoS and
a single MIX server at the same time.
- Tell WoS to use
port 8000 for TCP and UDP
- Tell MIX to use
- Tell your XP
Firewall to allow TCP and
UDP on ports 8000, 8001, and 8888
- Tell your Router to forward UDP and
TCP on ports 8000, 8001, and 8888
- Make sure you haven't BANNED
YOURSELF from your own
|Tell Me More
about Routers Making up Temporary Ports
I am making up the
following after conversations with people who
have routers other than my own, so please don't
take it as gospel, though it appears to be true.
In the good old
days, port-forwarding was your responsibility,
and if you had two LAN computers that wanted to
listen on the same port, you had a problem
teaching your router to forward correctly. I am
guessing this is why some routers added the
feature I am about to discuss, but they may have
had a different objective.
forwarding aside, what these routers do is modify
your port number dynamically. SO, for example,
your LAN computer sends a packet from port 1000.
This goes through the router who then makes up a
new port number (say 2000) and writes a note to
itself that should it get a response for port
2000, it should automatically forward it to your
PC's port 1000. Sounds sweet!
The problem is
that the router has no explicit way (at least not
with UDP packets) of knowing when you are done
with this port, and it is left holding this
little piece of data reminding it to forward 2000
to 1000. That uses up memory and a port number
which the router feels it might need for
something else, so it implements a timeout. If no
other packets are seen using this mapping for 'a
while' then it deletes the mapping.
So, if you have
a period of little traffic on this connection,
the mapping is destroyed. When you then send the
next packet, a NEW mapping is made, but now it is
using a new port number (say, 2001) since the
router doesn't re-use port numbers immediately,
but cycles through a long list of them until it
wraps back around to the start of the list.
This is fine, I
guess, for your new packet, but what about the
other players (and MIX servers) who have you
written down as using port 2000? That port
doesn't work any more. The game comes to an end.
Add to that,
some routers use an aggressively short timeout,
and you have a recipe for 'no server hosting for
For this reason,
MIX version 1.22 adds a new checkbox, called
"!!" and when that checkbox is checked,
the master server will publish the port number
you personally specified (1000) and not the port
number the router made up (2000,2001 in this
example). You will definitely need to manually
forward that port (1000), but at least it will be
a stationary target, instead of one that changes
every few minutes.
(Note that the
"!!" checkbox takes effect after the
next time your MIX server checks in with the
master, which it does every few minutes)
And thanks to
GuppyMan for suggesting this.