Room Create Internal API Types - dapucita/haxbotron GitHub Wiki

Room Create Internal API Parameter Types

Type Information about Internal API for create new game room.

See also Available built in maps name tags.

Request Body Parameters

{
    ruid: String;
    _config: RoomConfig;
    settings: RoomSettings;
    rules: GameRule;
    helo: HEloRating;
    commands: GameCommands;
}

RoomConfig Type

{
    roomName: String
    playerName: String
    password?: String
    maxPlayers: Number
    public: Boolean
    token: String
    noPlayer: Boolean
    geo?: {
        code: String
        lat: Number
        lon: Number
    }
}

RoomSettings Type

{
    maliciousBehaviourBanCriterion: Number

    banVoteEnable: Boolean
    banVoteBanMillisecs: Number
    banVoteAllowMinimum: Number
    banVoteExecuteMinimum: Number

    afkCountLimit: Number

    afkCommandAutoKick: Boolean
    afkCommandAutoKickAllowMillisecs: Number

    chatFiltering: Boolean

    antiJoinFlood: Boolean
    joinFloodAllowLimitation: Number
    joinFloodIntervalMillisecs: Number
    joinFloodBanMillisecs: Number

    antiChatFlood: Boolean
    chatFloodCriterion: Number

    antiOgFlood: Boolean
    ogFloodCriterion: Number
    ogFloodBanMillisecs: Number

    antiBanNoPermission: Boolean
    banNoPermissionBanMillisecs: Number

    antiInsufficientStartAbusing: Boolean
    insufficientStartAllowLimitation: Number
    insufficientStartAbusingBanMillisecs: Number

    antiPlayerKickAbusing: Boolean
    playerKickAllowLimitation: Number
    playerKickIntervalMillisecs: Number
    playerKickAbusingBanMillisecs: Number

    antiAFKFlood: Boolean
    antiAFKAbusing: Boolean

    antiMuteAbusing: Boolean
    muteAllowIntervalMillisec : Number
    muteDefaultMillisecs: Number

    antiGameAbscond: Boolean
    gameAbscondBanMillisecs: Number
    gameAbscondRatingPenalty: Number

    rerollWinStreak: Boolean
    rerollWinstreakCriterion: Number

    guaranteePlayingTime: Boolean
    guaranteedPlayingTimeSeconds: Number

    avatarOverridingByTier: Boolean

    nicknameLengthLimit : Number
    chatLengthLimit : Number
}

GameRule Type

{
    ruleName: String
    ruleDescription: String 
    requisite: {
        minimumPlayers: Number
        eachTeamPlayers: Number
        timeLimit: Number
        scoreLimit: Number
        teamLock: Boolean
    }
    autoAdmin: Boolean
    autoOperating: Boolean
    statsRecord: Boolean
    defaultMapName: String
    readyMapName: String
    customJSONOptions?: String
}

HEloRating Type

{
    factor: {
        placement_match_chances: Number
        factor_k_placement: Number
        factor_k_normal: Number
        factor_k_replace: Number
    }
    tier: {
        class_tier_1: Number
        class_tier_2: Number
        class_tier_3: Number
        class_tier_4: Number
        class_tier_5: Number
        class_tier_6: Number
        class_tier_7: Number
        class_tier_8: Number
        class_tier_9: Number
    }
    avatar: {
        avatar_unknown: String
        avatar_tier_new: String
        avatar_tier_1: String
        avatar_tier_2: String
        avatar_tier_3: String
        avatar_tier_4: String
        avatar_tier_5: String
        avatar_tier_6: String
        avatar_tier_7: String
        avatar_tier_8: String
        avatar_tier_9: String
    }
}

GameCommands Type

{
    _commandPrefix: string

    _helpManabout: string
    _helpManafk: string
    _helpManfreeze: string
    _helpManhelp: string
    _helpManlist: string
    _helpManmute: string
    _helpManposs: string
    _helpManscout: string
    _helpManstats: string
    _helpManstatsreset: string
    _helpManstreak: string
    _helpManvote: string
    _helpMantier: string
    _helpMansuper: string
    _helpManadmin: string

    _listSubafk: string
    _listSubmute: string
    _listSubred: string
    _listSubblue: string
    _listSubspec: string

    _superSublogin: string
    _superSublogout: string
    _superSubthor: string
    _superSubthordeprive: string
    _superSubkick: string
    _superSubban: string

    _disabledCommandList?: string[]

    about: string
    afk: string
    freeze: string
    help: string
    list: string
    mute: string
    poss: string
    scout: string
    stats: string
    statsreset: string
    streak: string
    super: string
    vote: string
    tier: string
}

Recommended Configurations

{
  "settings": {
    "maliciousBehaviourBanCriterion": 20,
    "banVoteEnable": true,
    "banVoteBanMillisecs": 1800000,
    "banVoteAllowMinimum": 10,
    "banVoteExecuteMinimum": 7,
    "afkCountLimit": 3,
    "afkCommandAutoKick": true,
    "afkCommandAutoKickAllowMillisecs": 120000,
    "chatFiltering": true,
    "antiJoinFlood": true,
    "joinFloodAllowLimitation": 2,
    "joinFloodIntervalMillisecs": 30000,
    "joinFloodBanMillisecs": 300000,
    "antiChatFlood": true,
    "chatFloodCriterion": 5,
    "antiOgFlood": true,
    "ogFloodCriterion": 2,
    "ogFloodBanMillisecs": 300000,
    "antiBanNoPermission": true,
    "banNoPermissionBanMillisecs": 30000,
    "antiInsufficientStartAbusing": true,
    "insufficientStartAllowLimitation": 3,
    "insufficientStartAbusingBanMillisecs": 300000,
    "antiPlayerKickAbusing": true,
    "playerKickAllowLimitation": 2,
    "playerKickIntervalMillisecs": 30000,
    "playerKickAbusingBanMillisecs": 300000,
    "antiAFKFlood": true,
    "antiAFKAbusing": true,
    "antiMuteAbusing": true,
    "muteAllowIntervalMillisecs": 180000,
    "muteDefaultMillisecs": 180000,
    "antiGameAbscond": true,
    "gameAbscondBanMillisecs": 300000,
    "gameAbscondRatingPenalty": 10,
    "rerollWinStreak": true,
    "rerollWinstreakCriterion": 5,
    "guaranteePlayingTime": true,
    "guaranteedPlayingTimeSeconds": 20,
    "avatarOverridingByTier": true,
    "nicknameLengthLimit": 12,
    "chatLengthLimit": 80
  },
  "rules": {
    "ruleName": "Auto Relay",
    "ruleDescription": "default game rule by haxbotron",
    "requisite": {
      "minimumPlayers": 8,
      "eachTeamPlayers": 4,
      "timeLimit": 3,
      "scoreLimit": 3,
      "teamLock": true
    },
    "autoAdmin": false,
    "autoOperating": true,
    "statsRecord": true,
    "defaultMapName": "gbhothuge",
    "readyMapName": "gbtraining"
  },
  "helo": {
    "factor": {
      "placement_match_chances": 10,
      "factor_k_placement": 50,
      "factor_k_normal": 30,
      "factor_k_replace": 10
    },
    "tier": {
      "class_tier_1": 500,
      "class_tier_2": 700,
      "class_tier_3": 800,
      "class_tier_4": 900,
      "class_tier_5": 1000,
      "class_tier_6": 1125,
      "class_tier_7": 1250,
      "class_tier_8": 1375,
      "class_tier_9": 1500
    },
    "avatar": {
      "avatar_unknown": "❔",
      "avatar_tier_new": "🌱",
      "avatar_tier_1": "🕳️",
      "avatar_tier_2": "🥚",
      "avatar_tier_3": "🐣",
      "avatar_tier_4": "🐥",
      "avatar_tier_5": "🥉",
      "avatar_tier_6": "🥈",
      "avatar_tier_7": "🥇",
      "avatar_tier_8": "🏆",
      "avatar_tier_9": "👑"
    }
  },
  "commands": {
    "_commandPrefix": "!",
    "_helpManabout": "about",
    "_helpManafk": "afk",
    "_helpManfreeze": "freeze",
    "_helpManhelp": "help",
    "_helpManlist": "list",
    "_helpManmute": "mute",
    "_helpManposs": "poss",
    "_helpManscout": "scout",
    "_helpManstats": "stats",
    "_helpManstatsreset": "statsreset",
    "_helpManstreak": "streak",
    "_helpManvote": "vote",
    "_helpMantier": "tier",
    "_helpMansuper": "super",
    "_helpManadmin": "admin",
    "_listSubafk": "afk",
    "_listSubmute": "mute",
    "_listSubred": "red",
    "_listSubblue": "blue",
    "_listSubspec": "spec",
    "_superSublogin": "login",
    "_superSublogout": "logout",
    "_superSubthor": "thor",
    "_superSubthordeprive": "deprive",
    "_superSubkick": "kick",
    "_superSubban": "ban",
    "_disabledCommandList": [
      "sampledisabledcommandname1",
      "sampledisabledcommandname2"
    ],
    "about": "about",
    "afk": "afk",
    "freeze": "freeze",
    "help": "help",
    "list": "list",
    "mute": "mute",
    "poss": "poss",
    "scout": "scout",
    "stats": "stats",
    "statsreset": "statsreset",
    "streak": "streak",
    "super": "super",
    "vote": "vote",
    "tier": "tier"
  }
}