Skip to content
PtaQQ edited this page Dec 7, 2017 · 3 revisions

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 creating a wrapper application that will download and start the correct engine with required dependencies. This is WIP, expect there to be a Python wrapper released which can be customized with the same chobby_config.json file. A temporary setup for testing Chobby without a wrapper can be achieved as follows:
  • Download an appropriate engine version and extract it to a folder.
  • Enter the engine folder and create an isolated.txt file in it.
  • Copy the above chobby_config.json in it. Make sure it is corrected for the correct game or LuaMenu folder will need to be deleted for changes to take place.
  • Download your game/maps and Chobby itself. For Chobby you can use the rapid version chobby:test if your changes are there, or you can download it in Git to make development easier.
  • Open springsettings.cfg and specify Chobby as the default LuaMenu: DefaultLuaMenu = Chobby $VERSION for Git and DefaultLuaMenu = rapid://chobby:test for rapid.
  • Run spring. This should now open Chobby customized for your game.
Clone this wiki locally