Jump to content
Sign in to follow this  
Nutty_101

Arma ii dsts v2

Recommended Posts

I have released a preview/Alpha of my new version of the DSTS module. This program allows admins/scriptwriters to access functions that are not native to Arma 2. It supports simple file based storage of variables (no limit), Databases (SQLLite, OleDB, or ODBC) and other methods. The source code for all parts will be released as I clean it up (C#, some VB for reference). Unlike other programs that allow you to access information external to ARMA I have provided admins with the ability to lock the utility down in all aspects. This will ensure nothing can be accessed outside the files you wish. See the command list below for a quick summary.

On the security subject I have implemented several pieces to help secure access to the program. All commands are able to be locked out via the config files. File/directory operations are locked to folders should you choose, HTTP is able to be locked down per site/url, email is also lockable to specific domains/addresses. The system also implements a queue system and that also validates the commands being sent out as well as the application itself. The commands are all prefixed with a specific string per a config file. Anything else is discarded for security.

To activate the functions you need either need to pass the -mod={Folder} argument or move the addon into your addons folder. Once that is done all you need to do is call the main init function [Example:]

_Handle = [] execVM "\DSTS_V2_ADDON\DSTS_Init.SQF"; waitUntil {scriptDone _Handle};

Once that init is done you can then call functions as follows..

_Result = [_sCommandPrefix,"1234567"] call DSTS1_STRING_LENGTH;

would return 7.

Download Links:

Core Program - Power Panel V1.0.0 Beta Release

DSTS V2 Plug-in - PowerPanel_DSTS_V2.0.13_022710.rar

Images:

index.php?act=attach&type=post&id=23

Commands so far:

STORAGE (Variable Storage): Group = Array itself

Group.Create, Group.Exists, Group.Clear, Group.Load, Group.Save, Group.Count

Item.Add,Item.Delete,Item.Exists,Item.Update,Item.Value

Strings:

First,Last,Index,Length,Mid,Range,Replace,Split,RegEx

Date:

Format,NowArray [mm,dd,yy,hh,mm,ss,a/p],ToArray,Now,Hour,Minute,Second,Day,Month,Year,Weekday

File:

Exists,Write,Open,Close,Read line,Read (entire file),Delete

Directory:

Files,Exists,Create,Delete

Http:

Post,Get

Database:

Query,Execute

Email:

Send

Player:

Count, Name,CDID,Joined (tstamp),Address, Score,Side

^^ CDID and address require another module to have work. separate from the initial release (non open source on this one)

Edited by Nutty_101
Update

Share this post


Link to post
Share on other sites

Interesting!

A question btw, how reliable is the clipboard method?

I was just considering bi-directional traffic, and was wondering what the results are if you're let's say loop sending info to the clipboard from within ArmA2.

and in the meantime want to send data from outside the game into ArmA :)

I'd guess you'd be using a buffer, and before every write operation you do a read operation to gather if new data was injected etc, but how well does that work with a lot of data being sent/received?

Edited by Sickboy
Oops missed some details :)

Share this post


Link to post
Share on other sites

Hi Nutty,

this sounds really interesting :bounce3:

I will keep this thread in mind ;)

Greeting

Silola

Share this post


Link to post
Share on other sites
Interesting!

A question btw, how reliable is the clipboard method?

I was just considering bi-directional traffic, and was wondering what the results are if you're let's say loop sending info to the clipboard from within ArmA2.

and in the meantime want to send data from outside the game into ArmA :)

I'd guess you'd be using a buffer, and before every write operation you do a read operation to gather if new data was injected etc, but how well does that work with a lot of data being sent/received?

There is only one script that reads/writes from the clip. So that stops it from having issues. So far it works without any issues and you can move quite a bit of information this way. It's not real-time but I am not stopping the server to run a command now either. So on a 100 player server it would still be usable where as a hooked system would not work out as well.

Share this post


Link to post
Share on other sites

I am slowly posting source code to the power panel project as well as the updated DSTS/Clip monitor plug-in (Standalone as well). Keep an eye on my forums or chime in there if you want.

Link is in my sig below.

Share this post


Link to post
Share on other sites

Updated version online with a demo mission. See initial post for more information.

Screen-shot of DSTS during that video:

post-1-1267271321_thumb.png

Share this post


Link to post
Share on other sites

Program running from a command line...

post-1-1267315130_thumb.png <=- Click for larger image.

The debug is from inside of Arma for anyone wanting to debug a mission external. Debug messages are also logged to the log files for the specific plug-in.

Log File: {AppFolder}/Logs/PowerPanel.DSTS2/2-27-2010.log

2/27/2010 4:48:12 PM,PowerPanel.DSTS2,Loading Config (Registration Event),Version:2.0.0.12

2/27/2010 4:48:24 PM,PowerPanel.DSTS2,DEBUG,Setting location to 3518.87,3652.88,-0.016674

2/27/2010 4:48:24 PM,PowerPanel.DSTS2,DEBUG,Data found. Pulling location of HMMV

2/27/2010 4:48:32 PM,PowerPanel.DSTS2,DEBUG,Checking to see if we have any data in Storage_Example table

2/27/2010 4:48:32 PM,PowerPanel.DSTS2,DEBUG,Data found. Pulling location of HMMV

2/27/2010 4:48:33 PM,PowerPanel.DSTS2,DEBUG,Checking to see if we have any data in Storage_Example table

Edited by Nutty_101

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×