Multiplayer
OpenBVE Multiplayer Extension was written by ipaclansite, and adds a multiplayer feature to the game. The program is open source (with a license download source to view), and can be freely downloaded at BVEStation. The Multiplayer Extension works by taking control of the game's pretrain and AI feature.
Contents
History
With the lack of multiplayer train simulators in the market at the time, and the Open Source nature of OpenBVE, there was an interest in a multiplayer feature for OpenBVE. It first started out as an April Fools joke on BVEStation, with OpenBVE's option menu showing a new option for multiplayer. It was also requested on the official OpenBVE Forums (no longer online) as a permanent feature for OpenBVE, but was ultimately rejected by michelle, the former head developer of OpenBVE. ipaclansite would decide to add the multiplayer feature himself as suggested by michelle, and due to the open source nature of OpenBVE.
Versions
Currently there are two versions written for the game, the original version and a current version, both are internally similar, but rely on a different server model.
Original
The original version of OpenBVE Multiplayer Classic was written by taking snippet code from a chat program. OpenBVE would capture the distance information of the train ahead of the player from the server and would force the pretrain/AI train to move into that position. This would only allow the player to view a single instance of another player.
The original version was very buggy due to the use of code snippet taken from another website, and was built mainly as a proof of concept only. This version allows players to connect to a single route on a single individual server.
Current
The current version of OpenBVE Multiplayer Codename Newtown was written using a MySQL database, which acts as the server. OpenBVE would capture the distance information from a specific table in a MySQL database, and would force the pretrain/AI train to move into this specified position. Like the original version, this only allowed the player to view a single instance of the player ahead of them.
This version is more stable, due to the large amount of newly written code. This version also allows for clients to connect to a single central server, with multiple routes, and allows for MMO elements. A mapping system, and a signaling system was also written to supplement this multiplayer version, largely feasible due to the use of a MySQL database.
This version unfortunately suffers from limited uptime of the server, and requires multiple users connected at once in order to get a good experience.
Planned
A planned future version would take the original version, and re-write it to create a more stable server/client model. Due to the low activity of the current version, a server will allow users to play together at a specific time, with everyone communicating at the same time. This future version would also take into account multiple train instances, instead of simply the train ahead of the player. There is no known release date, or development of this version at this time, and is only a plan on paper.
Other Versions
Boss of Games wrote a fork of the original OpenBVE Multiplayer, adding a signaling system to that version based on the client/server model. His version was never released to the BVE community.
A European version of a multiplayer OpenBVE was created, it was suggested that it connected teamspeak into the game, as opposed to it being an actual multiplayer game. Not much is known about this version.
Pseudo-Multiplayer
Traditionally multiplayer is done through the use of BVEStation's Chatroom, players would simply broadcast their position after every few stops.
In the past, traditional multiplayer makes use of BVEStation's Teamspeak Server, as players speak to broadcast their positions, this form is the most popular form of pseudo-multiplayer to date, due to its ease of use. Users do not appear to want to use a physical multiplayer system, as it is either too complicated, unstable or incompatible or too limited for their needs, and will resort to this method.
Because BVEStation no longer runs a Teamspeak Server, other communities have sought to replace this service, and run their own multiplayer events.