logo bannerlogo banner
Page Navigator

yolkbot scrapes a lot of data from the game source to provide you with the most up-to-date information about Shell Shockers. This data is either heavily used or not at all.

following internal changes inside of yolkbot, we have moved some constants to data.yolkbot.xyz. a list of the data on data.yolkbot.xyz is accessible at https://data.yolkbot.xyz/manifest.json.

manifest.json is an object with the following structure:

{ "name": { "hash": "...", "path": "..." }, "name2": { ... } }

hash refers to a sha256 hash (no salt) of the file. path refers to the file name relative to https://data.yolkbot.xyz (e.g. data.yolbot.xyz/shopItems.json)

you can fetch the manifest and use the hashes to check if any files need to be updated inside of your code!

Challenges

Challenges are a giant array of all possible challenges in the game.

The array is filled with objects that contain the following properties:

  • id: number - the ID of the challenge
  • loc_ref: number - the localization reference ID for the challenge name
  • type: number - the type of the challenge (see the ChallengeTypes constant)
  • subType: number - the subtype of the challenge (see the ChallengeSubTypes constant)
  • period: number - always 0, likely unused prop
  • goal: number - the goal of the challenge - used to signify a numeric goal (e.g. 10 for get 10 kills) - unused in some challenges even though it should be?? (see chlg_kill_streak_five)
  • reward: number - the reward for completing the challenge (in eggs)
  • conditional: number - likely some conditional value for the challenge that we don't know what it means
  • value: string | null but it's actually a number but as a string for some reason - the value of the challenge, used usually for numeric values
  • valueTwo: string | null but it's actually a number but as a string for some reason - the second value of the challenge, used as special indicators for non-numeric values that are not known to us
  • tier: number - a difficulty measurement from 0 to 3
  • loc: object - the english localization object for the challenge, containing:
    • name: string - the name of the challenge
    • description: string - the description of the challenge

Changelog

The changelog is an array of the changelog entries.

An example object in the changelog array looks like this:

{
  "version": "2.0.0",
  "date": "June 1 2025",
  "content": [
    "This is a changelog entry",
    "We added a new feature",
    "We fixed a few bugs"
  ]
}
  • version: string - the version of the game
  • date: string - the date of the changelog entry, formatted MMMM D YYYY
  • content: string[] - an array of strings that contain the content of the changelog entry
Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

House Promo

This is the various data that is used to promote BWD's socials and other games on the main game page.

It's an object with the following properties:

  • big - an array of objects that are used as the big image for promoting other games
  • small - an array of objects that are used as the small image for promoting other games
  • bigBanner - an array of objects that are used as the big banner for promoting other games and VIP
  • houseAdPercentChance: number - the percentage chance of showing a house ad
  • specialItemsTag: number - the tag for special items (used to show special items in the shop)
  • featuredSocialMedia: string - their featured social media
  • premFeatured: string - their featured premium ad
  • smHouseAds: array - an array of objects that are used as the small house ads
  • shellLogo: array - an array of objects that are used as the Shell Shockers logo for various events
Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

Items

Items are the various items that can be purchased from the shop.

It's an array of objects that contain the following properties:

  • id: number - the ID of the item
  • name: string - the name of the item
  • price: number - the price of the item in eggs
  • type: number - the type of the item (see the ItemTypes constant)
  • item_type_name: string - the name of the item type (see the ItemTypes constant)
  • exclusive_for_class: number | null - the gun ID that the item is for
  • item_data: object - the data for the item, which can contain various properties depending on the item type
    • item_data.mesh: string - the mesh name for the item
    • item_data.tags: string[] - the tags for the item that are used to find it when searching
  • is_available: boolean - whether the item is available for purchase
  • unlock: 'default' | 'purchase' | 'physical' | 'manual' | 'premium' | 'vip' - how the item is unlocked
  • align: object - the specific alignment of the item in the shop
    • x: number - the X alignment of the item
    • y: number - the Y alignment of the item
    • z: number - the Z alignment of the item

Language

This is the scraped English localization data. It's a key/value object where the key is the localization reference ID and the value is the localized string.

Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

Maps

A list of all maps in the game. This does not have full map data (like the yolkorg/maps repository).

Map IDs are calculated based on their index in this array, starting from 0.

Maps have the following properties:

  • filename: string - the filename of the map
  • hash: string - the "hash" of the map
  • name: string - the stylized name of the map
  • modes: object - the game modes that the map supports
    • FFA: boolean - whether the map supports FFA
    • Teams: boolean - whether the map supports Teams
    • Spatula: boolean - whether the map supports CTS
    • King: boolean - whether the map supports King of the Coop
  • available: 'public' | 'private' | 'both' - where the map can be played
  • numPlayers: string (could easily be converted to number) - the recommended number of players for the map

Notices

This is just an object with a version property that is used to attempt to reload and recache when the game updates. The version is bumped anytime the game has an update critical enough to warrant a reload of the game.

Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

Regions

This is an array of all of the regions, filled with objects with the following properties:

  • id: string - the ID of the region, effectively the name (i.e. useast, germany, etc)
  • sub: string - the subdomain used to connect to the region. this subdomain exists on all of the game domains

Shell News

This is an array of objects that contains the latest news from the top right feed on the homescreen.

Each object has the following properties:

  • active: boolean - whether the news item shows up
  • content: string - the text content of the news item
  • imageExt: string - the image extension of the news item (e.g. .png, .jpg)
  • id: string: a random ID prefixed with news_
  • elId: string - a random string used for the news element ID
  • link: string? - possibly a link to open when the news item is clicked
  • linksToChangeLog: string? - should the changelog open when the news item is clicked?
  • linksToVipStore: string? - should the VIP store open when the news item is clicked?
Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

Shell Youtube

This is an array of objects that contains the latest videos from the top right feed on the homescreen.

Each object has the following properties:

  • active: boolean - whether the video shows up
  • link: string - the link to the video (full)
  • desc: string - the description of the video (always empty)
  • imageExt: string - the image extension of the video thumbnail (always empty)
  • id: string - a fully random character string
  • author: string - the author of the video (sometimes has trailing spaces, use .trim())
  • title: string - the title of the video (sometimes has trailing spaces, use .trim())
  • externalImg: string - the displayed image URL of the video
Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

Shop Items

The various items that appear in the shop, such as the bundles. It's an array of objects with the following properties:

  • itemIds: number[] | null - the IDs of the items in the bundle, or null if it's not a bundle
  • sku: string - the SKU of the item
  • name: string - the name of the item
  • price: number - the price of the item in USD
  • salePrice: number | null - i got no clue chat
  • flagText: string - extra text that appears on the item in the form of a loc key
  • type: 'currency' | 'item' | 'subscription' | 'pass' | 'bundle' - the type of the item
  • inStore: number - should it show up in the store?
  • currency: number - the currency the item grants, or 0
  • isActive: boolean - whether the item is active in the store
  • id: number - the ID of the item
Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.

Sounds

This is an object that looks like this:

{
    "resources": [
        "sound_source_1.webm",
        "sound_source_2.ogg",
        "sound_source_3.mp3"
    ],
    "spritemap": {
        "sound_1": {
            "start": 0,
            "end": 1000,
            "loop": true
        },
        "sound_2": {
            "start": 1000,
            "end": 2000,
            "loop": false
        }
    }
}

Each of the resources is a sound file that is imported ingame. It's one big file with each of the sounds that start and end at the specific time specified in the spritemap.

Note

This is no longer in the yolkbot code and is instead distributed through data.yolkbot.xyz.