Jump to content
Sign in to follow this  
[kh]jman

ArmA2 Persistent Database Scripts - WIP

Recommended Posts

This week I've sorted out a lot of connection issues, the KH team have been faithful bug testers and the scripts are now ACE compatible so for example the ACE backpack system and weapon on back data is now saved to the database. Overall the project is progressing well and I'm fitting in as much development time as I can at the moment between real life.

Check the devheaven project for roadmap and progress.

http://dev-heaven.net/projects/persistent-db

Share this post


Link to post
Share on other sites

Quick update. I've optimised the init player connection functions in client/server and ironed out all the bugs. We've tested these connection and database I/O functions extensively now with plenty of players connected at the same time with no lag or drop in client/server fps.

I've also now separated the persistentDB scripts from the mission specific scripts making integration into any mission a breeze.

I'll be off on holiday in the next week or so, so development will stop for a few weeks but when I get back work on the save/load functions for the mission related data such as air, man, ship, building and landVehicle will continue in earnest.

First post updated with a new db screenshot: http://forums.bistudio.com/showpost.php?p=1810032&postcount=1 click the image to see a full image 6409 x 1000 px!

Edited by [KH]Jman

Share this post


Link to post
Share on other sites

Very impressive Jman. Looking forward to release. This will open up a whole host of possibilities.

Have a great holiday.

Share this post


Link to post
Share on other sites

Ok here's a video I just made demonstrating the player persistence scripts.

As you can see the player is teleported to his last saved position and all saved player attributes are restored from the DB. The DB save happens automatically on player disconnect.

I started the video with data already present in the database for the player. Obviously a west player would start at the west_respawn marker if no player data was initially found in the database.

(no sound) Edited by [KH]Jman

Share this post


Link to post
Share on other sites

Cool Jman. So does this output information to another DB? Or what else has to be running ?

Share this post


Link to post
Share on other sites

At the moment it outputs the data to a sqlite 3 database but I will add mysql support before release. The server may need to run an additional service in the future to add additional DB support. We are working on that atm.

Currently the server needs to run CBA and JayArmA2Lib.

Clients do not need to run any addons other than those that the normal mission scripts require.

Share this post


Link to post
Share on other sites

Excellent piece of work. I would like to add a request for the future development of compatilbity with MS SQL Server.

Share this post


Link to post
Share on other sites

Does the server admin need any basic experience in SQL/languages other than SQF to use this on the server?

Share this post


Link to post
Share on other sites

This is very promising tool !!!

I would imagine it will become possible to have a webpage where players add the weapons and objects in the inventory, and when they enter the game, the "player" is ready to start the mission :confused:

Good oportuniy for the coop mission to skip the long payload moments at the beginning of the mission when everyone tries to find his weapon and ammo in the boxes ;)

Share this post


Link to post
Share on other sites

xjiks,

I hear you....

"Get out the damn boxes, before I make Lee-Enfields compulsory !"

That really would make life easier for us to. We have individual models a present, but its a boat load of work changing the loadout configs or init lines, and then they still stick there heads in the boxes for ages.

Jmam... this has real promise, nice work

Share this post


Link to post
Share on other sites

Yes webpage based loadouts by player uid is something we have discussed internally. It does pose a few hurdles such as monitoring loadout capacity and weight but can be done. We have discussed using drop down menus to select individual items and amounts whilst monitoring weight. Quick loadouts might also be selected via menus. Custom loadouts could be saved and retrieved. Loadouts could be set per mission or globally.

Share this post


Link to post
Share on other sites

Quick update.

Now Completed:

Convert scripts from sqlite to mysql:

http://www.dev-heaven.net/issues/24696

Save/load mission's LandVehicle data:

http://www.dev-heaven.net/issues/16637#change-112971

Save/load player's in vehicle status

http://www.dev-heaven.net/issues/16650#change-113073

Save/load mission's time of day

http://www.dev-heaven.net/issues/16654#change-113148

I've started work on the frontend:

http://pdb.kellys-heroes.eu

username: demo

password: demo

If you select me from the list, thats probably the one with the most data.

It uses a privilages system. It can be skinned using css. It's all subject to change atm. The demo user can see all users but not edit just so you get the idea. Normal users can only see and edit their data. Administrators can see all users and edit all data. The mission data will be located next to the Player Data column and will consist of landvehicles, man, air, ship and building. Mission Date & Time will also be editable, as I say it's all just wip atm.

Edited by [KH]Jman

Share this post


Link to post
Share on other sites

Nice job JMan!

Would it be possible to use these functions to have ammo and supplies listed in a database?

Say for example number of weapons in a crate?

And when for example you fill out a form in a webbased form it get re-supplied?

Share this post


Link to post
Share on other sites

Crates could be populated via the database and that data could be modified via a webbased form but the resupplying would not be possible via a webbased form post only an ingame trigger or sleep command.

Share this post


Link to post
Share on other sites

Okej, but if you can modify the amount in a crate via a form that would be enough for my idea.. i think.

Would that be the same as with vehicles for example?

If there is list of vehicles in the database, and some are listed with "amount: 0" they wont spawn? but when the amount is changed they will spawn?

Share this post


Link to post
Share on other sites

Moved frontend to new subdomain:

http://pdb.kellys-heroes.eu

username: demo

password: demo

Work in progress screenshot of a section of the view player loadout screen:

viewplayerLoadout.png

Work in progress screenshot of a section of the edit player loadout screen:

editplayerLoadout.png

Edited by [KH]Jman

Share this post


Link to post
Share on other sites

Very nice Jman! Great progress and kudos to you for keeping at it - after all the SQL extension issues etc ;)

Share this post


Link to post
Share on other sites

Thanks Sickboy that means a lot. I'm working on the loadout slot limitations and ACE weight amount today so it's still coming on slowly but surely. Trying to make sure I don't miss anything out and make it as easy to use a possible.

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  

×