To simulates the game actions and server events, to test the core code and server stability.

What is the Test Tool (Test Client)

Test Client is a WPF application intended to help with testing by creating fake clients that can connect to the servers and issue commands.

How to get it

You can grab the latest version from: http://build.forgottenmines.com:8080/job/Ballistic/lastSuccessfulBuild/artifact/Ballistic/Tools/TestClient/bin/Release/TestClient.zip

Otherwise, you can build it from the TestClient folder (or ask a dev to build it for you).

How to use it

this is the main window of the test tool that has most of the functionalities.

Test tool like the game should run on the server from the available servers.

you can choose from this list in the main window.



when the peer state changes to Connected and the requests responses Logs appear by green colors that mean the server works correctly.

In Test Client, you have 3 Authentication types:

  • Debug

    The default way used when you opened the test client application.

  • FaceBook

if you need to use FaceBook Authentication click on this button, that will make another window will appear to take your credentials then click login.

after that, if the Login success you will find your name Like in your Facebook account in the Clients List  


  • WordPress

    In this way, you will use your War To the Core credential’s website


To create clients to use them in the test tool, just write the required name and click on create client button


Like you see in this Image this part from Test Client has 3 main parts:

  1. Action List:  this list has all actions implemented till now in the game if you select any one the controls will appear in part 2.
  2. Input Data Action:  this part like panel contains all controls related to the action selected where each row represents the property in action selected. Note: there are actions don’t have controls, that means this action doesn’t have the wrapper class because the properties mentioned related to properties of wrappers classes related to this action.
  3. Execute Action: this button used to execute your action after filling the controls by data (if have).

Like you see in this Image this part from Test Client has 3 main parts:

  • Action Name: this is the action has been executed and beside it the executed time (UTC).
  • Requests Log:  this represents the Request properties have been sent to the server and filled in the input data action panel.
  • Responses Log: this represents the data have been sent by the server.
    the executed requests have 3 probabilities when have been sent to the server
    1- Success: by Green color.
    2- Fail: by Red color.
    3- No Response from the server: by Yellow color.
    There is another type of logs is Warning and Errors Log.
    where these logs represent the errors happened in the test tools or warnings that tell us there is something not ordinary, and we should focus on it. maybe some of these logs expected.
    Note: you can copy the data from the requests/ responses log to the clipboard.
    if you make double click on any item of the errors/warnings log, a popup will appear by all details of this error/warning.

For the events come from the server the tool has 2 ways to treat with them:

  • Normal way: where the tool just receives the events come from the server and display their details in Requests/Responses Log when you make the Show Event check box checked.
  • Custom way: where we taught the server to execute a specific action when the specific event fire from it.
    How to do that:
    Firstly, execute the action that you want to be will execute when the specific event fire. Secondly, choose from events list the wanted event that will be registered with the previous action executed.
    Thirdly, save this case by clicking on Save Action button.

    when the specified event fired by the server, the specified action will be executed automatically by saved data.

The objective of Test Scenario:

Test scenario is executing  some of the actions by specific order then save them (data that filled the input data panel for each action) in external file (JSON, Text) to reuse them in later time for many reasons, for example report someone by a bug when you do some actions , reuse them to test server and put it under pressure and figure out problems appeared in the game couldn’t discover it by the code or unit test.
Like in the Image, test scenario has two parts, first one for executing one scenario by one client one time or multiple times.
second part executing multiple of scenarios by one or multiple clients and one time or multiple times.

One Scenario:

  1. select some of the actions that you want to use them
  2. click on Create Scenario button and save the file
  3. to load it click on Load Scenario Button and fill the wanted data.
  4. click on Play Scenario Button to play it
  5. click on the pause button to stop the executing temporary.

Multiple Of Scenarios:

  1. by clicking on Load Multi-Scenario button you will load the required scenarios to play them.
  2. then file the controls of each scenario by needed data like that
  3. after that click on the Execute All button to execute them, the new clients created you will found them in client list when select any one its requests/ responses appear in the log.
  • Objective:

To simulate player actions, where using it instead real player.
Till now we applied some features, but  not all needed features.

  • How to use it:

To make the AI bot  work check the “Run AI Bot” and run the game as usual, you will see some actions starting to add to requests/responses log.

  • Calculate Average Latency: where this label display total time (Millisecond) that server take them to make all requests for specific client.
  • Friend List: display all players on the server except the client running the tool.
  • Active Battles Ids: display all battles actives on the server.
  • Status of selected client: where display the connected status, active battle joined on it and the alliance too.
  • Total number of players connected on the server:




Views 308
War to the Core

Recent Comments

Latest Updates

  • Solo missions

    Solo missions

    Hey guys, here are the specifics of the first two solo missions, those are sketches of the first two missions. First mission: A harvester is placed near the ship, generating supply caches. The player collects energy caches and escapes a ring of mines. No supply links allowed. The sensor component is introduced by one of […]Read More »
  • We made it to the Top 100!

    We made it to the Top 100!

    We are stoked that we managed to land on IndieDB’s Indie of the Year’s Top 100 list! We are also the only MOBA that made it to the list! The support we got from the community was overwhelming, and we would like to thank each and every person that helped us get this far. Whether […]Read More »
  • Full Campaign Series, Version 3

    Full Campaign Series, Version 3

    Characters: Daniel Blaze. Protagonist, player-character. Headstrong and rebellious. Ambiguous loyalty to the Shepherd Coalition. Joseph Blaze. Father of Daniel Blaze. Commander of the Leviathan mothership until executed for treason by the Shepherd Coalition. Sylvia. AI assistant. Provides intel, advice, mission objectives. Captain Zhukov. Cyborg commander assigned to hunt down player during the first several missions. […]Read More »
  • Story: Episode 1, Version 2

    Story: Episode 1, Version 2

    The Blaze family had long been controversial. They supported the Shepherds, but continually frustrated the Orthodox elements of their faction. Joseph Blaze was especially known for his tolerance of the weakling families that used genetic engineering to alleviate the sicknesses that exposure to the Earth’s surface had inflicted on them. Such tensions between orthodoxy and […]Read More »
  • Story: Episode 1

    Story: Episode 1

    Location: The Pole Base. When Daniel Blaze passed his final test and became the primary candidate to pilot the Leviathan, the Shepherds’ newest ship, he caused a quite a stir. Not because he’s the youngest member of the Pole fleet to be nominated for admiralship, the faction had already made peace with this as a […]Read More »
Skip to toolbar