Jump to content
Axe Cop

[Release] Simple Admin Debug Tools (in-game script console & remote log extension)

Recommended Posts

I could not find any ArmA2 debug tool that worked with Epoch so I developed my own little script and dialog to do just some simple things like execute SQF code on the fly (client and server side via custom remote execution). Also I have added my own little extension (DLL) for remote logging to a separate window on the server, so essentially if you want to log some debug info it pops up in that window and not in the RPT file. That logging extension is optional of course but i use it for debgging myself, not on the live server.

 

Is there any interest in tools like this? I can publish my stuff if any admin or script/mod developer may need something like this.. :)

 

Here a simple screenshot what the debug dialog looks like atm:

EbmWAh8l.jpg

 

you can enter any valid SQF script code in the large text field and then execute it locally on the client or via remote execution on the server, the result of the code is displayed in the lower text field (also the result of remote exec), just to simplify it so you won't have to add a log call or "hint str (1+2+3)" instead of just call "1+2+3" or whatever (and yes you can use this as a calculator lol)

 

some screenshots of the remote log:

wvlhptS.png

 

Zmqzmxk.png

 

I've just added a simple log filter at the bottom, so you are able to filter the log entries to match a specified text in real time.

the number in the bottom right cornor means 9 log entries filters out of 26 log entries overall.

 

this ain't pretty but might help with script debugging a lot.

the code to log something in this example is pretty simple:

format["Refueling %1 with %2 fuel",_name,_fuel] call DT_fnc_log;

this is called in my service point refuel script, just as an example how it can be used (keep in mind the refuel script is client side and the log window on the server). :)

 

 

Download: http://dl.bintray.com/vos/dayz/ArmaDebugTool1.0.zip

 

 

Installation Script Console

  1. copy the files RscDebugDialog.hpp and debug.sqf to your MPMission folder/PBO
  2. open your description.ext file and include the debug dialog at the end of the file like this:
    #include "RscDebugDialog.hpp"
  3. execute the debug.sqf from your init.sqf (at the very bottom it needs to be executed on the client and server)
    execVM "debug.sqf";
  4. you can open the debug console by invoking the function DT_fnc_openDialog yourself or by default just press the minus key on the numpad to open it if you are in-game (key can be changed with DT_openKey variable in the debug.sqf file)
    call DT_fnc_openDialog;

you can now use the debug console in game, be aware the custom remote execution on the server might be tricky if you leave BattlEye enabled because many script values are just blacklisted in the publicvariableval.txt filter file, also you need to add BattlEye exceptions for publicvariable.txt:

!="DT_logMessage" !="DT_remoteExec"

I suggest to just disable BattlEye if you want to make use of the remote execution, since this script is only intended for use on a test server anyway ond not for a live server!

If you want to use this on a live server make sure only admins have access to the script console! :P

 

 

Installation Remote Log Extension (optional)

If you want to use the external log window in combination with my log command DT_fnc_log you need to install the extension first.

By default the log window is displayed on the server only, it can be used on the client but on the server makes more sense I think.

The following steps are only server side!

  1. copy the files jni.dll, jni.conf and ArmaDebugTool.jar in your ArmA:OA installation directory (next to Database.dll and the other Epoch files)
  2. since the extension is written in Java you need to install a 32-bit (x86) Java 7 Runtime Environment (JRE), if you don't already have that on your server
  3. open the jni.conf and change the JAVA_HOME path to your JRE installation if necessary

that should be all, you can now use the DT_fnc_log function on the client or server and it should open a separate window with the first log call.

e.g.

"log text" call DT_fnc_log;
(position player) call DT_fnc_log; // on the client
(count vehicles) call DT_fnc_log; // server or client 

or whatever you want to log, string conversion is done automatically so you can log any value or object.

If there are any problems with calling the ArmaDebugTool.jar or Java-VM there should be a jni.log file next to the jni.dll with error information in it.

Also for performance reasons the log window is limited to 1000 log entries, it will remove the oldest one from the top if you log more messages.

 

 

References

Edited by Axe Cop

Share this post


Link to post
Share on other sites

This does sound useful especially when testing scripts.

Especially the server side logger as I find it tedious to constantly have to log into my FTP, download the file, find the error in the 1000s of lines of error that are already spat out on a Taviana server.

I would really appreciate such a tool even if you don't publish it a PM with the tool attached would be great :)

Share this post


Link to post
Share on other sites

hey, I might publish it later today.. the "problem" is not that I don't want to publish it here but I have to write some instructions and clean up the code a little and stuff like that you know. :p

if you know what you are doing you can try it yourself, the code for the script console and log functions are already available in my GitHub repository: https://github.com/vos/dayz/tree/master/debug

 

The log extension itself will follow later, since I only have a very simple prototype for that. :D

Share this post


Link to post
Share on other sites

added some screenshots of the remote log extension and a simple example on how to use it.

code and instructions will follow soon :)

 

btw the log window could also be displayed on the client instead of the server, but this way you can log things from anywhere no matter if the script is running on the client or server. if you don't have access to the server that might be a solution, but this is intended for a test server anyway.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By JakeQue
      Is there anyway to add a disable footsteps for admins?
       
      Also I would love to be able to spawn a mission in from the admin menu, I tried some code but it just breaks Infistar, it would seem it is executing it automatically.
       
       
      Thank you!
    • By tyrant50187
      Im looking for the ability to add Script allowing Eyescan (retina scan) For Safe's and lockboxes, ether or, its something i havent found any script for but have found mentions and seen, any suggestions, links, or scripts are welcome, please Let me know!
    • By salival
      Hi guys,
      Quite a few admins asked me to release my Change Code script so here it is, It comes with BattlEye filters, too.
      This will allow players to set the code on placement/upgrade of doors, lockboxes and safes as well as changing them after they are placed.
      https://github.com/oiad/changeCode
    • By Bloodthirsty
      Hey I just need some files for this server, any and all you guys can come up with and think it deserve post that shit in chat rn. I want to see some crazy ideas and additions if you got em :) Lets see what you guys can come up with

    • By NoxSicarius
      NOTICE For those who want to use this in 1.0.6
      Instead of using this one, I suggest visiting the following thread for game version 1.0.6 and up
       
      The tools are partially updated for the new release. Most features are working so far and it can be downloaded from here (follow the readme for install): https://github.com/noxsicarius/Epoch-Admin-Tools/tree/TestBranch

       
       
      IMPORTANT:
      Under NO circumstances should you download this tool from a different source. I have been notified of numerous virus downloads listed as my work (usually second page of google and farther). I have petitioned to have all of the ones I know of blacklisted and have sent virus profiles to all major antivirus companies. If you find a .exe in any work claiming to be mine, it is a virus and should be shredded. 
      Please only download from MY github link or the links in this post.
      My github repo will NEVER be removed and if I leave the project and someone wishes to take over, they will be given rights to the repo.
       
      Features:
       
      For help with Administration:
      Multiple Admin levels Spectate players "Display code" for locked vaults/doors "Create key" for vehicles with lost keys Force lock and unlock vehicles without keys Base Destruction - Destroy all buildables/vehicles within a customizable radius Spawnable crates with weapons, items, and supplies Spawn locked or temporary vehicles via the menu or a custom-made graphical vehicle menu (screenshot) Other features:
      Godmode Teleport self (or others to you) Flying Invisibility Delete and repair/refuel vehicle on crosshairs ESP - display players, zombies, safes, tents, vehicles, and AI on the map ...and more! Installation, changes, additional information, FAQ, credits, issues and everything else can be found at the project page on Github:

      Epoch Admin Tools on GitHub
      Click here for an install tutorial video for the tool
      I have been informed that some places block GitHub, so here are direct links hosted by me:
      Newest full release: https://www.dropbox.com/s/pjvj07u5yemo7we/Epoch-Admin-Tools-master.zip?dl=0
      Beta build: https://www.dropbox.com/s/xm6t1k3gvp3t8ex/Epoch-Admin-Tools-TestBranch.zip?dl=0


      If you have an improvement you would like to add, make a pull request and make these tools even better!


      Error Reporting:
       
      BEFORE posting an issue on Github or on this forum:
      If you think you might have installed it incorrectly, follow the YouTube Video Install Tutorial Try reinstalling the tool. You more than likely missed something important. Do a quick search on this forum for a fix to your problem. Check your server's RPT log for errors. This will identify 99% of problems with the menu. Be ready to copy/paste the RPT log into Pastebin or Gist in an issue or in the discussion forum for help with troubleshooting. If your problem persists after doing the above:
      Open your arma2oaserver.rpt file in a text editor and copy/paste the RPT log into Pastebin and post your issue in this forum with the rpt log. If you post something like "It doesn't work" I will not acknowledge you. Not giving all possible details in the first post simply makes it take longer to resolve and will waste everyone's time. I am hard pressed for time these days so if you won't take the initiative to provide information, I won't ask for it either. I am not trying to be mean, but I am quite tired of getting 5 or less word posts that provide no information other than this person has some kind of problem somewhere on their server that may or may not be related to this mod. If the problem you are posting is a bug and not a general install problem then post it to this forum AND to the github issues page.  
      I have been asked by someone if they can donate to the project so I am adding the link here.
       
       
      I have invested a good deal of time into this so if you find it useful please give a little donation.
      (DONATE)
      I also accept Crypto Currency: 
      Bitcoin: 1GkzMzwnVwVpnUCVFaAyLDsgD9cqSfigdm
      Litecoin: LbUrUxXzA557VeTWXM8jP7hNf3uZHEqW5b
       
      A sincere thanks to those who made a monetary contribution to this project: calamity, CRHASH, BMovieQueen, zixxel, 8BitSigdom, Anarior, f3cuk, Caveman1, Nathan, [member=WootyWoop], [member=Terrance Smith]
      A huge thanks to those who make the community a better place by answering questions on this project: @juandayz, @EditedSnowHD
      Please leave your name in a note if you donate so that I can list you above.
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...