Introduction

This post covers how to configure the gamesettings.json file for the NydusNetwork, and how it is used in the Abathur Framework.

Contents of the file

The gamesettings.json file contain information used to setup connection and create games with the StarCraft II client. Launching the AbathurBot for the first file will generate this file at the default location {current_dir}\data\gamesettings.json

The file contains the following fields:

  • FolderPath (default: C:\Program Files (x86)\StarCraft II)
    • This is the path to where your StarCraft II installation is located. The default path is for windows.
  • ConnectionAddress (default: 127.0.0.1)
    • This should always be left at 127.0.0.1 (loopback) as Multiplayer is not yet implemented in the Blizzard Api
  • ConnectionServerPort (default: 8165)
    • Port used by client designated as the host. Any port will do as long as it is free.
  • ConnectionClientPort (default: 8170)
    • Used for multiplayer games (two local instances) as the port for the second client.
  • MultiplayerSharedPort (default: 8175)
    • Used for multiplayer games (two local instances) to connect the two clients.
  • Fullscreen (default: false)
    • Toggle whether the client should launch in fullscreen. Launching two clients in fullscreen will crash.
  •  ClientWindowWidth (default: 1024)
    • Set the width of the client window (if not fullscreen)
  • ClientWindowHeight (default: 768)
    • Set the height of the client window (if not fullscreen)
  • GameMap (default: Cloud Kingdom LE)
    • Specify a blizzard map name (launch the client through BattleNet to get new maps)
    • or specify path to a map (maps can be download here and should be placed in {sc2dir}/Maps/)
  • DisableFog (default: false)
    • Will disable fog of war so all units are visible. This will also alter the information received by the AI.
  • Realtime (default: false)
    • Real-time runs 24.6 game loops per second, which corresponds to playing ‘faster’ in StarCraft II. The bot might skip frames.
    • Turning real-time off will require the client to make step-requests to advance the state of the game (usually a lot faster for scripted AIs)
  • ParticipantRace (default: 4)
    • Which race the host should play as (1: Terran, 2: Zerg, 3: Protoss, 4:Random)
  • Opponents
    • List of opponents – currently only supports 1v1.
  • Opponents:Type
    • 1 for ‘Participant’ (non-Blizzard AI), 2 for ‘Computer’ (Blizzard AI) and 3 for Observer (not implemented in Abathur)
    • Setting the value to ‘participant’ will cause AbathurBot to launch a client for a human player (Human vs Abathur)
  • Opponents:Race
    • Which race the opponent should play as (1: Terran, 2: Zerg, 3: Protoss, 4:Random)
    • Blizzard AIs and HumanClient (AbathurBot) will adhere, but other opponents (AIs) might choose to ignore it.
  • Opponents:Difficulty
    • Difficulty of the Blizzard AI (1 Very Easy, 2 Easy, 3 Medium, 4 Medium Hard, 5 Hard, 6 Harder, 7 Very Hard, 8 Cheat Vision, 9 Cheat Money, 10 Cheat Insane)