• Announcements

    • Jervant

      Bohemia Store Steam Redeem   06/24/17

      We started experiencing problems with the Steam redeem from our Store on Friday June 23rd.   For anyone that got affected by this, please go to your store account, after you select the product you purchased, you should see your steam key with a link to a how to article to activate it manually through Steam.   We apologize for the inconvenience.
Sign in to follow this  
Followers 0
[kh]jman

ArmA2 Persistent Database Scripts - WIP

456 posts in this topic

UPDATE: 7th Feburary 2013

mso.jpg

There are many issues and bugs in the current PDB standalone version. Development of the standalone PDB scripts has ceased and I have moved development be to exclusively for MSO where PDB development has really moved on massively in MSO 4.6. Myself and the MSO dev team will also be working on a new MSO PDB version for Arma3 when it's released which will be in addon form.

I am no longer offering support for this old standalone version of PDB.

You can get support for the new PDB integrated into MSO on our dev-heaven site here

MSO support is here and here

The latest development files can be found here

UPDATE: 22nd June 2012

PersistentDB_small.jpg

Over the last month or so I have been working on a set of scripts that can be integrated into any ArmA2 missions that will allow for persistent player and game/mission data to be stored in a serverside database and retrieved on command.

No clientside addons are required and it is compatible with Windows dedicated servers. All that is required is that both CBA and Arma2NET addons be loaded serverside together with a MYSQL database. This only works on dedicated servers. There are potentially many applications for this so I'd very much welcome your suggestions whilst I'm still in the development stage.

Many thanks to Sickboy for his help and expert advice!

Direct link to PDBReadme.html

Latest PDB Version:

PDB Dev-heaven repo

Direct downloads:

Arma2NETMySQLPlugin.7z

PersistentDB

PDB in MSO:

Dev-heaven repository branch

Changelog:

07/09/2012

- Arma2NETMySQL.dll compiled against Arma2Net 2.2

- Arma2NETMySQL.dll added sqlite support

- Arma2NETMySQL.dll The socket connection would stay open once started. This caused problems (aka crashing). Now, it will close down the connection after 30 minutes of inactivity.

- Arma2NETMySQL.dll logs save to AppData/Local/Arma2NETMySQL

- Arma2NETMySQL.dll Databases.txt now loads from AppData/Local/Arma2NETMySQL

- Arma2NETMySQL.dll New Databases.txt format. Added type, mysql and sqlite

10/08/2012

- PersistentDB Core rewrite

- New MYSQL DB Schema

- New example missions

- Arma2NETMySQL.dll compiled against Arma2Net 2.11.1

- Arma2NETMySQL.dll logs now save to AppData/Local/Arma2NETMySQL

22/06/2012

- compiled Arma2NETMySQLPlugin.dll against the 6.5.4 MySQL.Data Reference

16/06/2012

- fixed printing of messages in valid format

14/06/2012

- Shows version number of Arma2NET that it is compiled with.

- Fixed so it works with the latest version of the MySQL Connector (6.5.4).

- Works with latest Arma2NET (1.10).

Edited by [KH]Jman

Share this post


Link to post
Share on other sites

looks very interesting.. will it be JiP compatible for RPG style data saves?

Share this post


Link to post
Share on other sites

Yes. Any player or mission data that can be retrieved from the gamestate can be saved and retrieved and at any time, not just on player disconnect.

Edited by [KH]Jman

Share this post


Link to post
Share on other sites

Again, another great idea from the community that makes this game hard to walk away from even if we lose all of our hair in the process :)

One question...will the database be able to be customized by the server admin as to what data is saved? IE- can a designer make a system that remembers pilot training and later only allows players with a certain amount of helicopter training to fly them? Hope that makes sense.

Great job JMan

Edited by Raptor 6 Actual

Share this post


Link to post
Share on other sites

Yes it can be customised providing you have a basic understanding of scripting and databases. On the final release I will try to document the customisation process as much as possible.

Share this post


Link to post
Share on other sites

Been waiting for something like this for a long time... Great work! My initial idea for this is the ability for members to select their loadouts for sunday operations on the website, reducing waiting times upon joining.

Share this post


Link to post
Share on other sites

Fantastic, I can't wait to try this with some massive MP mission I host now and then. How will the saving be triggered? Will the server save all data for each MP mission upon departure of the last player? Or do missions need to trigger something by a module, variable or similar?

Cheers,

VictorFarbau

Share this post


Link to post
Share on other sites
My initial idea for this is the ability for members to select their loadouts for sunday operations on the website, reducing waiting times upon joining.

Yes It will certainly do that alright.

Will the server save all data for each MP mission upon departure of the last player? Or do missions need to trigger something by a module, variable or similar?

It could be done either way, my plan is to setup certain boolean definitions that the scripts will use to determine which methods you'd like to invoke.

Share this post


Link to post
Share on other sites

Very impressive work, this opens new possibilities for many communities out there :)

Share this post


Link to post
Share on other sites

I now have some relationships setup in the db and working in the scripts.

For example. The scripts get the mission name and looks up the associated missionid in the missions table and then checks against the missionid in the players table. The missions data gets inserted into the db if it does not exist in the missions table.

This means the player's data can be unique to the particular mission if desired.

Next I'll write a little function that adds the scores from all the particular player's entries so that a global mission score can be stored for that player and used if required. This means that for example, a player's rank could either be mission specific or set to a global rank across all missions (stored) played by changing one simple boolean definition. More updates soon :)

Share this post


Link to post
Share on other sites

Well if I had any hair left!. I've overcome quite a few hurdles so far but it's still far from releasable in it's current state. I'm slowly improving and adding more functionality almost daily so hopefully I can make a newer video sometime over this weekend.

Share this post


Link to post
Share on other sites

[KH]Jman, hope you had a great holiday season. Is there any progress to this WIP? Really looking forward to any news you might have for us.

Share this post


Link to post
Share on other sites

Yes, making great strides now that Sickboy is mentoring me in armascript :)

The system is working 100% and now saves:

all player damage (all locations).

weapons loadout (inc. backpacks and items).

player position.

player direction.

player stance.

player score (global and per unique mission).

The ranking system is taking shape nicely as is the mission objects saving states. - more on that soon and I will try to get a new video out soon.

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  
Followers 0