Developer Guides ‐ v9.x to v10.0.0 API Changes - MarechJ/hll_rcon_tool GitHub Wiki

🧭 You are here : Wiki home / Developer Guides / v9.x to v10.0.0 API Changes


This is a (hopefully) complete list of the API changes that occurred between v9.x and v10.0.0.

This exists primarily to help any users who wrote tools to use the API to have a comprehensive source to help upgrade, any subsequent API changes (v10.0.0 -> v10.x.x) will be documented in those release notes and hopefully be minimal, so please review those if applicable.

Please feel free to help update this if it is incomplete or inaccurate.

  • set_maprotation

    1. rotation renamed to map_names
  • async_upload_vips renamed to upload_vips

  • Removed the old/unused download_vips endpoint

  • async_upload_vips_result renamed to upload_vips_result

  • Removed the old/unused upload_vips_result endpoint

  • do_add_admin renamed to add_admin

    1. steam_id_64 renamed to player_id
    2. name renamed to description
  • do_add_map_to_rotation renamed to add_map_to_rotation

    1. returns str (whatever the game server returns which can be SUCCESS or varying error messages)
  • do_add_map_to_whitelist renamed to add_map_to_votemap_whitelist

  • do_add_maps_to_rotation renamed to add_maps_to_rotation

    1. maps renamed to map_names
  • do_add_maps_to_whitelist renamed to add_maps_to_votemap_whitelist

  • do_add_vip renamed to add_vip

    1. steam_id_64 renamed to player_id
    2. name renamed to description
  • do_ban_profanities renamed to ban_profanities

    1. returns bool
  • do_reconnect_gameserver renamed to reconnect_gameserver

  • flag_player

    1. steam_id_64 renamed to player_id
    2. added player_name
  • do_kick renamed to kick

    1. steam_id_64 renamed to player_id
    2. name renamed to player_name
    3. returns bool
  • do_message_player renamed to message_player

    1. steam_id_64 renamed to player_id
    2. name renamed to player_name
  • do_perma_ban renamed to perma_ban

    1. steam_id_64 renamed to player_id
    2. name renamed to player_name
    3. returns bool
    4. This endpoint no longer blacklists the player you must use a blacklist endpoint if you want to persist the ban in CRCON, perma_ban only bans on the game server
  • post_player_comment

    1. steam_id_64 renamed to player_id
  • do_punish renamed to punish

    1. steam_id_64 renamed to player_id
    2. name renamed to player_name
    3. returns bool
  • do_reconnect_gameserver renamed to reconnect_gameserver

  • do_remove_admin renamed to remove_admin

    1. steam_id_64 renamed to player_id
  • do_remove_all_vips renamed to remove_all_vips

  • do_remove_map_from_rotation renamed to remove_map_from_rotation

  • do_remove_map_from_whitelist renamed to remove_map_from_votemap_whitelist

  • do_remove_maps_from_rotation renamed to remove_maps_from_rotation

  • do_remove_maps_from_whitelist renamed to remove_maps_from_votemap_whitelist

  • do_remove_perma_ban renamed to remove_perma_ban

    1. ban_log renamed to player_id
    2. returns bool
  • do_remove_temp_ban renamed to remove_temp_ban

    1. steam_id_64 renamed to player_id
    2. Removed ban_log
  • do_remove_vip renamed to remove_vip

    1. steam_id_64 renamed to player_id
  • do_reset_map_whitelist renamed to reset_map_votemap_whitelist

  • do_reset_votekick_threshold renamed to reset_votekick_thresholds

    1. returns bool
  • set_broadcast

    1. msg renamed to message
  • set_name renamed to set_server_name

  • do_set_map_whitelist renamed to set_votemap_whitelist

  • do_switch_player_now renamed to switch_player_now

    1. player renamed to player_name
    2. returns bool
  • do_switch_player_on_death renamed to switch_player_on_death

    1. player renamed to player_name
    2. returns bool
  • do_temp_ban renamed to temp_ban

    1. steam_id_64 renamed to player_id
    2. player renamed to player_name
    3. returns bool
  • do_unban renamed to unban

    1. steam_id_64 renamed to player_id
    2. This endpoint no longer remvoes blacklists from the player you must use a blacklist endpoint if you want to remove or edit the blacklist in CRCON, unban only removes the ban on the game server
    3. The unblacklist_player endpoint is functionally equivalent to the old behavior of do_unban
  • do_unban_profanities renamed to do_unban_profanities

    1. returns bool
  • unflag_player

    1. added player_id argument
    2. added flag argument
  • do_unwatch_player renamed to unwatch_player

    1. steam_id_64 renamed to player_id
    2. removed reason argument
    3. removed player_name argument
  • do_watch_player renamed to watch_player

    1. steam_id_64 renamed to player_id
  • get_admin_ids

    1. Output changed from steam_id_64 to player_id
  • get_online_mods

    1. Output changed from steam_id_64 to player_id
  • get_ingame_mods

    1. Output changed from steam_id_64 to player_id
  • get_players and get_players_fast have merged and are only get_players

  • get_player_info

    1. player renamed to player_name
  • get_detailed_player_info

    1. player renamed to player_name
  • get_ban

    1. player renamed to player_name
  • get_round_time_remaining returns the time left in seconds

  • set_team_switch_cooldown returns bool

  • set_autobalance_threshold returns bool

  • set_idle_autokick_time returns bool

  • set_max_ping_autokick returns bool

  • set_queue_length returns bool

    1. num: renamed to value
  • get_vip_slots_num returns int

  • set_vip_slots_num returns bool

    1. num: renamed to value
  • get_slots returns a tuple of int (current and max players)

  • get_votekick_thresholds returns a list of tupple of int pairs (number of players, number of votes required)

  • set_autobalance_enabled returns bool

    1. bool_: renamed to value
  • set_votekick_enabled returns bool

    1. bool_: renamed to value
  • public_info renamed to get_public_info

    1. Output changed
    2. current_map and next_map return PublicInfoMapType:
    class PublicInfoMapType(TypedDict):
        map: LayerType
        start: float | None
    
    1. raw_time_remaining replaced with time_remaining (number of seconds)
    2. players renamed player_count_by_team
  • get_standard_broadcast_messages returns messages as a dict of time_sec and message instead of strings formatted as time_sec message

  • server_list renamed to get_server_list

  • live_scoreboard renamed to get_live_scoreboard

  • removed date_scoreboard

  • get_status

    1. Output changed
    2. nb_players to current_players
    3. player_count to max_players
  • get_vip_ids

    1. Output changed steam_id_64 to player_id
  • get_perma_bans, get_temp_bans, get_bans and get_ban all return GameServerBanType:

    class GameServerBanType(TypedDict):
        type: str
        name: str | None
        player_id: str | None
        timestamp: datetime.datetime | None
        ban_time: str | None
        reason: str | None
        by: str | None
        raw: str
    
  • Anywhere a game server log is returned:

    1. player_name to player_name_1
  • Anywhere player stats are returned:

    1. player_id (database record ID) is removed
    2. steam_id_64 to player_id
  • get_player_profile

    1. Now includes bans
    class GameServerBanType(TypedDict):
        type: str
        name: str | None
        player_id: str | None
        timestamp: datetime.datetime | None
        ban_time: str | None
        reason: str | None
        by: str | None
        raw: str
    
    1. Now includes comments
    class PlayerCommentType(TypedDict):
        id: int
        creation_time: datetime.datetime
        by: Optional[str]
        content: str
    
    1. The blacklist field has changed and is now an array of blacklist records with an associated object for which blacklist the ban belongs to. When servers is null that indicates it applies to all servers, otherwise it will be a list of server numbers (these are the same server numbers as defined in your compose file, server 1, server 2, etc.)
    blacklists": [
        {
          "id": 1,
          "player_id": "76561198004895814",
          "reason": "No ban reason provided",
          "admin_name": "CRCON",
          "created_at": "2024-07-11T16:51:32.939408+00:00",
          "expires_at": null,
          "is_active": true,
          "blacklist": {
            "id": 0,
            "name": "Default",
            "sync": "kick_only",
            "servers": null
          }
        }
      ]
    
    1. Now includes is_blacklisted as a boolean
  • Removed blacklist_player endpoint

  • Added get_blacklists

  • Added get_blacklist

  • Added create_blacklist

  • Added edit_blacklist

  • Added delete_blacklist

  • Added add_blacklist_record

  • Added delete_blacklist_record

  • Added edit_blacklist_record

  • Added get_blacklist_records

  • Added expire_blacklist_record

  • unblacklist_player

    1. steam_id_64 renamed to player_id
  • get_historical_logs

    1. steam_id_64 renamed to player_id
    2. log_type renamed to action
    3. from renamed to from_
    4. output removed, use the get_historical_logs_csv if you want CSV and not text file
  • Added get_historical_logs_csv which is identical to get_historical_logs but returns the output as a CSV text file rather than JSON

    1. This has identical parameters to get_historical_logs
  • The BanTeamKillOnConnectUserConfig setting (Settings > TK Ban On Connect):

    1. Now includes an optional blacklist_id if you would like players to be added to a specific ban list if you use this feature
  • The VacGameBansUserConfig setting (Settings > VAC/Game Bans):

    1. Added an optional blacklist_id setting if you would like players to be added to a specific ban list if you use this feature
    2. Added an optional auto_expire setting if you would like these bans to automatically expire once they are older than your configured threshold
  • The RconServerSettingsUserConfig setting (Settings > CRCON Settings):

    1. Removed unban_does_unblacklist
    2. Removed unblacklist_does_unban
    3. Removed broadcast_temp_bans
    4. These have been replaced by the blacklist changes and no longer mean anything
  • set_welcome_message

    1. msg renamed to message