Nutty_101 0 Posted February 19, 2010 (edited) 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: 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 February 27, 2010 by Nutty_101 Update Share this post Link to post Share on other sites
sickboy 13 Posted February 19, 2010 (edited) 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 February 19, 2010 by Sickboy Oops missed some details :) Share this post Link to post Share on other sites
silola 1086 Posted February 19, 2010 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
Nutty_101 0 Posted February 19, 2010 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
Nutty_101 0 Posted February 21, 2010 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
Nutty_101 0 Posted February 26, 2010 I have added a test version on the website with an example script. Nothing fancy but it gets the point across. http://forums.livecar.net/index.php?showtopic=128 Share this post Link to post Share on other sites
Nutty_101 0 Posted February 27, 2010 Updated version online with a demo mission. See initial post for more information. Screen-shot of DSTS during that video: Share this post Link to post Share on other sites
Nutty_101 0 Posted February 27, 2010 (edited) Program running from a command line... <=- 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 February 28, 2010 by Nutty_101 Share this post Link to post Share on other sites