User Projects

You're able to use TrashSim in your own project. TrashSim allows automatic player data loading, which will be used for simulating a battle.

Use the API key

To automatically load the defender you can call the following URL, including 1 required parameter and optionally a language:



{KEY} (required) - should be replaced by the SR-key which can be found behind the API button in the espionage report messages.
{LANG} (optional) - can be replaced with a language supported by TrashSim, this can be an advantage for your international users. (supported languages)


Use the prefill feature

It's also possible to automatically load multiple players via a base64 encoded JSON string. To do this you can call the follow URL, please note that we use a hash (#) here and not a questionmark, this method secures our caching system:



{BASE64JSON} (required) - should be replaced by the base64 encoded JSON string, the format will be discussed below.
{LANG} (optional) - can be replaced with a language supported by TrashSim, this can be an advantage for your international users. (supported languages)

JSON format:

The JSON is pretty self explaining, the root can contain 3 properties:

  • 0 -> Contains the attacking party, an array of the attacking players.
  • 1 -> Contains the defending party, an array of the defending players.
  • settings -> Contains the server settings.

The player element has the following properties, which are all optional, resources, research, ships, defence & planet. The name of the research, ships and defende properties is set by the technologie ID's.

A party can contain as many players as you want, ofcourse you know that you can only send a maximum of 16 fleets, so adding more is not needed. In the defending party the first player object in the array will be the main defender, who can have defence and resources. Below you'll find 2 tables, the first tables explains the properties of the player objects and the second table is for the settings property.

Main propertySub propertyValueExample
class *0 ... 30
research106{"level": integer}{"level": 10}
199{"level": integer}{"level": 4}
ships202{"count": integer}{"count": 1347}
219{"count": integer}{"count": 453}
defence401{"count": integer}{"count": 2794}
503{"count": integer}{"count": 20}

* The class property supports 4 values: 0, 1, 2, 3. Being: 0: no class, 1: Collector, 2: General, 3: Discoverer.

Ofcourse you'll only need to add the properties where they make sense. For example: an attacker won't need the resources & defence properties and the main defender doesn't need the speed property and drive technologies. As for the research, only the drive and combat technologies will work.

The settings property has the following properties which are all required except for plunder & simulations.

def_to_tF0 or 10
debris_factor0.0 to 1.00.3
repair_factor0.0 to 1.00.7
donut_galaxy0 or 11
donut_system0 or 11
plunder50, 75 or 10075
simulations1 to ...15
characterClassesEnabled0 or 11
minerBonusFasterTradingShipsinteger (%)100
minerBonusIncreasedCargoCapacityForTradingShipsinteger (%)25
warriorBonusFasterCombatShipsinteger (%)100
warriorBonusFasterRecyclersinteger (%)100
warriorBonusRecyclerFuelConsumptioninteger (%)25
combatDebrisFieldLimitinteger (%)25

JSON Example:


Base64 value of above JSON:


Full example:

The example below will add 124 Large Cargo's to the first attacker his fleet and is will also set the fleet speed in the settings to 2.

JSON used: {"0":[{"ships":{"203":{"count":124}}}],"settings":{"speed_fleet":"2"}}

Below you'll find a list of the supported languages (the default value is en)::

cs da de en es el fr hr it nl hu pl pt pt-BR ru ro sv tr ko zh