Today I’m going to share this little tool I made to test things in multiplayer environment. It is a simple GUI that allows to execute code on the client, on the server and also output a server hint on the client so that one can monitor some server values with ease. BTW, there is already an option to have inbuilt ArmA 3 debug console available in MP by adding enableDebugConsole=2; in description.ext if you prefer it.

sandbox

As an example (above) I took my player’s netId on the client then used objectFromNetId command on the server to get the reference to my player’s object then used server side hint to output the resulting variable. As you can see on the server my player’s object is classified as REMOTE as it should be.

How to install

  • Download KK’s MP SANDBOX v2.0, unzip and copy KKSB folder into your MP mission root
  • Open your description.ext file (make one if you don’t have it) and paste this at the very top: #include "KKSB\KKSB.ext"
  • Open your init.sqf file (make one if you don’t have it) and paste this at the very top: #include "KKSB\KKSB.sqf"

How to use

  • When you press Esc button you will get your normal pause menu as usual. Pressing Esc again will close the pause menu and bring up sandbox GUI
  • If you end your script in a window with semicolon ; and click on EXECUTE, the sandbox GUI will close automatically. Otherwise, it will stay open
  • When you type a script command you will see a helper hint displayed with command syntax, pressing Tab will autocomplete it for you
  • If you click on a script command you typed and press F1, a help window should open with the command description
  • player object on the server is Null (you can test that too :)) so to reference player you can use SB_CALLER variable generated by the sandbox on the server
  • If you need to output server and client variables side by side to compare, you can use the following code, which has to be executed in the server side window:
[ SB_CALLER, compile format [ "hint str [str serverTime, %1]", str str serverTime ] ] call SB_CALLBACK; comment " First serverTime is on client, Second serverTime is on server ";

Enjoy,
KK

EDIT: I’ve made a dedicated server/MP sandbox bundle for easy start up. Get it from here

EDIT: Sandbox has been updated to v2.0 and includes ZEUS Interface.