Jump to content

Recommended Posts

As those of you who watch @NathanKell's Twitch streams may already be aware, I recently developed an asynchronous multiplayer mod, Race Into Space.  The idea is that everyone in the game syncs with the server every now and then, to say "my game is at $date" and "I achieved $milestone on $date".  Then, when everyone's game is past the first date on which a milestone was achieved, the server now knows who got it first, and they get some extra funds in their game (and bragging rights, which are of course far more important).

One person (usually whoever organised the game) has to run the server, which is a Python program using Twisted and Nevow, and needs to be network-visible (so e.g. if behind a router/NAT you will need to port forward).  The other players just connect to that server from within KSP.  They can also view the game state by pointing a web browser at the server.

Apart from needing a common set of contracts, the players can have completely different mods installed, although for the sake of balance and fairness you will usually want to agree on a list of allowed mods.

Currently it's in beta testing, and it only has configs for RP-0 (the RSS career mod).  If someone wants to write configs for other contract packs, pull requests welcome.  It still has a few rough edges, like a total lack of access control on the server, but it seems to be working so far.

The source code is at https://github.com/ec429/ksp_ris, and releases can be downloaded from https://github.com/ec429/ksp_ris/releases.


Network details (rule 6 compliance):
The Race Into Space client KSP addon communicates over the network.
It will only communicate with the server specified by the user in the in-game UI (which defaults to localhost), and its communication consists of reports on the current game state, which are only sent when manually triggered by the user (by pressing the SYNC button), requests for the corresponding state of other players (triggered by the Join, Refresh and SYNC buttons), and messages used to Join or Leave a game on the server.

The full protocol is described in the file 'protocol' in the top level of the source repository, which can be found on github.

Edited by soundnfury
updated for 1.8.1 (RIS v0.1.5)
Link to post
Share on other sites

Seems like this could be made open ended if the 'extra funds' feature was removed.  And more rigorous if the common mod list was enforced - could see this becoming a real thing instead of a testbed then.  I would certainly love to be chasing Nathan down in your game, just getting back to KSP after being busy with work for a few months

Link to post
Share on other sites
  • 4 months later...

Only just finally got around to seeing this. Brilliant idea something I've wanted for ages. Consider the incentive and balancing stuff for funds though go extra funds to those behind and maybe rep and science boost to those ahead. Otherwise you'll have folks fall behind in the first year never to recover and something like this would be mostly about bragging rights.

Link to post
Share on other sites
  • 1 month later...
  • 1 month later...
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...