Game Customization - Spring-Chobby/Chobby GitHub Wiki

Chobby can be used in two ways:

  1. As a generic lobby (Spring as platform) that works in a similar manner like most traditional lobbies (SpringLobby, SWL, etc.)
  2. As a customized lobby that can support game-specific functionalities and look&feel.

To create a customized lobby, it is necessary to do the following:

  1. Create a custom game config within Chobby. Currently they should be included to the main Chobby repo with a pull request.
  2. A configuration file which determines what game configuration and what lobby protocol to use. This file is specified in chobby_config.json. Note: This configuration file will be read only once, on first start of Chobby. After that whatever setting users set will be used. This means if you make any changes, for them to take effect, you should remove the DATADIR/LuaMenu folder.

Example chobby_config.json are given below. EvoRTS:

{
    "server" : {
        "address"    : "springrts.com",
        "port"       : 8200,
        "protocol"   : "spring",
        "serverName" : "Spring"
    },
    "game" : "evorts"
}

Spring as platform:

{
    "server" : {
        "address"    : "springrts.com",
        "port"       : 8200,
        "protocol"   : "spring",
        "serverName" : "Spring"
    },
    "game" : "generic"
}

ZK:

{
    "server" : {
        "address" : "zero-k.info",
        "port" : 8200,
        "serverName" : "Zero-K",
        "protocol" : "zks"
    },
    "game" : "zk"
}
  1. The third step involves setting up a launcher application that is used to distribute the lobby with all the required dependencies.

It consists of 3 steps:

  1. Install the spring-launcher Github app, which will register the repo with the distribution system and once builds are created, they'll be available for download here: https://spring-launcher.ams3.digitaloceanspaces.com/
  2. Create a config.json file in the dist_cfg folder (example: https://github.com/gajop/test-repo/blob/master/dist_cfg/config.json). Be sure to specify the necessary downloads (usually your game and Chobby)
  3. Move the previously created chobby_config.json file to the files subdirectory. This will tell Chobby what server to connect to and what the UI should be like (example: https://github.com/gajop/test-repo/blob/master/dist_cfg/files/chobby_config.json)