Page 1 of 1

ClientServerMAME (legitimate alternative to kaillera)

PostPosted: 07 Oct 2010, 12:35
by Black Shroud
Original thread ... =5&o=&vc=1

Digitalghost wrote:CS-MAME 0.7c is out. It is 0.7c and not 0.8 because it involves an overhaul of the underlying network architecture.

To get the latest version, go to the github site here:

For more details and to follow the progress of ClientServerMAME, check out my blog:

I've also published a video with step-by-step instructions on how to run ClientServerMAME. Check it out here:

Here's a list of changes since 0.7:

-Initial game state is now compressed. Keep in mind that the initial game state can still be several megs depending on the rom.

-There is now a message telling users that the initial game state download is in progress and to be patient.

-BUG FIX: The server will now continue to send delta game states while the initial game state is downloading. This prevents desyncs that were occurring when the server would fail to send game state updates while the client was downloading the initial state.

-There is now a UI message letting users know that the first few minutes of gameplay will be lagged while the client digests all of the server deltas that have been building up while the client downloaded the initial game state. In practice this has resolved itself in under 30 seconds, but it could take a few minutes for some of the larger roms.

-The initial sync is now sent in chunks and a progress bar is included.

-Delta syncs are now sent over the course of time. This keeps the UDP stream from getting clogged with large delta syncs

-Delta syncs are now transparently sent in the background. Instead of the client waiting for a delta sync, the client performs a save state to memory at the time where the sync should take place, then continues processing. When the delta sync comes in from the server, the client compares the sync to its snapshot and if they match, ignores it. If they don't match, the client goes back in time, replaces its ram with the server's ram, and then fast forwards to the present. This makes delta syncs almost unnoticeable

-Added the "secondsbetweensync" option to mame.ini. This option allows the user to control how often to perform a sync. NOTE THAT THE CLIENTS AND SERVER MUST HAVE EXACTLY THE SAME VALUE

-Added the "synctransferseconds" option. This controls the rate at which a sync is sent to the client. Lower number means faster rates and less recovery time from a sync, but result in increased network bandwidth and may cause delays. NOTE THAT THE CLIENTS AND SERVER MUST HAVE EXACTLY THE SAME VALUE

-If the client performs a delta sync, it will fast forward without updating the video to allow for rapid catch-up

-BUG FIX: The chat feature was broken for client, and only the server could talk. This has been fixed (remember, press 'T' to start a chat)

-Press 'N' to hide the networking UI (ping and traffic statistics)

-BUG FIX: Server messages were getting overwritten by a memory overrun, this has been fixed.

Digitalghost wrote:CS-MAME is meant for playing games online. Each player should have his/her own PC. The server stars the game, then tells everyone else his IP address and they connect to his/her game through the Internet. The only reason why I had multiple copies of CS-MAME running on one machine is so that I could demonstrate the features without making two videos and stitching them together, but the point is actually to run CS-MAME twice from two remote locations and play a game.

The Clients and the Server both run CS-MAME, and the network protocol ensures that the games remain in sync and also handles transferring the user commands amongst all of the players.

Basically, it allows any number of people to play MAME collaboratively over the Internet just as if they were all sitting together.

In short, yes, CS-MAME allows you to play MAME with other people over the internet.

etabeta wrote:this is a derivative which does not break the MAME license in any way, and as such is perfectly legitimate...

Re: ClientServerMAME (legitimate alternative to kaillera)

PostPosted: 19 Oct 2010, 12:27
by Black Shroud