FCE Ultra Network Play Server v0.0.5
------------------------------------

To compile, type this in the shell:
$ make
To install, type this in this shell:
$ sudo make install
To run, type this in shell:
$ ./fceu-server

To compile under MS Windows, you should use Cygwin.  I'm not
going to change this server to use Win-old-dirty-smelly-sock natively.

There are known issues with running fceux-server in mac OSX.  As a (somewhat extensive) workaround, you can run the server inside a Linux VM in bridged network mode.

If it doesn't compile, sell your <eternally lasting essence of self> to the 
<evil entity of your religion>.

Most beings can run it like "./fceu-server >logfile &".
Windows users can run it some other way.  A batch file with absolute paths, perhaps?
	snuggums.bat:
		C:\somethingdirectory\server.exe c:\somethingdirectory\standard.conf

With the default settings, each client should use about 65-70Kbps, excluding any
data transferred during chat, state loads, etc(which should be negligible, but limits
will be placed on these types of transfers in the future).

Clients connecting with high-latency or slow links may use more bandwidth, or they
may use less bandwidth.  I'm really not quite sure.  If it concerns you, test it.

Any client connecting over VERY high latency links, such as bidirectional satellite connections,
may find that attempting network play will lock up his/her connection for 
several minutes.  Right, Disch. ;)

The server probably won't scale well to a huge number of clients connected at the same time.

Bumping up the server's priority and running it on a low-latency kernel(preferably with
1 ms or smaller timeslices) should help make network play more usable if you're running the 
network play server on an otherwise non-idle physical server.



TODO:

Implement a more flexible timing system, so that PAL games will be playable.

Change the protocol to allow the client to specify the size of input update information,
so devices like the powerpad or zapper can work over network play.

Send emulation info, such as NTSC/PAL, input devices, and Game Genie emulation at connect
time, to make it easier on end users.


