top of page

What are CSMAME, CSMESS, and MAMEHub?

CSMAME and CSMESS are modifications of MAME and MESS that allow for

netplay by synchronizing player inputs and system memory across the

Internet. The modifications are made to the core MAME/MESS code, so any

game playable by MAME/MESS can be played online using CSMAME/CSMESS

without requiring game-specific hacks.



MAMEHub is a frontend that helps users to arrange and play games on

CSMAME and CSMESS. This allows users to play older generation arcade,

home console and computer games over the Internet.


Unlike similar systems released before (such as Kaillera or GGPO), MAMEHub

is 100% open source, cross platform and has a much wider pool of games (in

particular the 80's decade, due to it's MESS support). Currently an estimated

1500 system drivers (a potential 40,000 games) are included in MAMEHub

(see compatibility lists for game driver status).

MAMEHub is a hobbyist project, therefore is not intended for commercial use.

The MAME/MESS licences fully apply. Users must own the original game(s)

before they can legally play it/them online.

Some games could be considered exempt being over 20 years old, however

the legality of this varies from country to country. Examples that full into this 

category include old game console titles from the late 70's / early 80's

(Intellivision, Atari 2600). old home computer games (ZX Spectrum, C64, Atari

ST) as well as arcade ROMs available from the MAMEdev web site (which have

been made free for distribution from the original game authors).

Also, if a user has purchased licensed arcade ROMs from either Star ROMs or

from a cabinet purchase, they should also be able to play those too on

MAMEHub.


No games / ROMs are located on the server, they are client side only.



Project History

 

In September 2010, CSMAME (otherwise known as Client Server MAME) was

released.



This is a network modified port of MAME which adds the ability to play a 20

year history of arcade games over the Internet with other players across the

world (these are real original coin operated arcade games from the late 70's

to late 90's).



For gaming over the Internet, one user acts as the server, whilst other user

acts as the client (these settings are set via command line arguments). The

network communication is achieved through the use of RakNet libraries and

utilizing MAME 's in-built save state architecture, and is coded in the form of

a netcode wrapper.



A few months later, CSMESS (Client Server MESS) was released. So like MAME,

MESS was also enhanced for Internet gaming in exactly the same way with

this emulator port. MESS is the sister project to MAME (sharing the same code 

structure) and emulates old game consoles and home computers.



The developer of CSMAME and CSMESS, produced a follow up separate

application called MAMEHub, which allows CSMAME and CSMESS emulators to

be joined together into a single centralised server based system.



The main benefits of MAMEHub include a GUI (users no longer have to use

command line options) as well as providing an online chat service to help

arrange game sessions. MAMEHub also maintains a central list of running

games, where a user can either click on a running game to join or can decide to

start their own game (called hosting) for other users to join.



Users can also choose to observe a game only. This allows users to watch their

friends trying to beat a high score or observe game techniques to improve

gaming skills.



After MAMEHub was released, CSMAME, CSMESS and MAMEHub then became

known collectively as MAMEHub.

About

Please Note : This project is open source and therefore conforms to the MAME & MESS licences. You can download source code for CSMAME and CSMESS here  (latest version source is available on request). Source code for MAMEHub module, is automatically downloaded to clients after each SVN update. 

bottom of page