Jump to content
Sign in to follow this  
kegetys

ArmAlib v1.0

Recommended Posts

Thanks for that quick vid, I was clueless as to what this was utillthe penny dropped watching that.

Makes me want track IR now real bad.

Share this post


Link to post
Share on other sites
Looking at the script i think it's even possible to define the amount you can 'move around' in each vehicle by class

Yes, though the separate X/Y/Z limits do not work "correctly" as they depend on which direction you are looking. Also the roll axis causes some clipping problems because the game doesn't know the screen aspect changes (if you tilt your head 90 degrees then the aspect ratio basically flips around, without the game knowing). But it isn't a too big problem.

Share this post


Link to post
Share on other sites

..and i retract the complaint about it not being universal. It was a doddle to do one myself biggrin_o.gif No complaints Keg's, top, top work.

Noticed one tiny, inconsequential but interesting bug. If you rotate the camea while in external view while firing a gun (like the Gau 12 on the harrier) the tracers rotate with the camera. NOT THE rounds, they still land where they should, just the VISUAL EFFECT of the tracers. like i say, hardly of note and definately not something one's likey to see during normal usage, but interesting biggrin_o.gif

Edit: Bummer, it's worse than just tracers, the stars rotate with the camera too. Can be quite confusing :/ At least i now have proof that the universe revolves around me... biggrin_o.gif

Share this post


Link to post
Share on other sites
At least i now have proof that the universe revolves around me... biggrin_o.gif

No, it revolves around Kegetys.

Share this post


Link to post
Share on other sites

Hi Kegetys smile_o.gif

Your tool is really a big enrichment for Arma notworthy.gif

Unfortunately, it comes a little bit too late for my present project wink_o.gif

But many thanks for it!!

Greeting

Silola

Share this post


Link to post
Share on other sites

Some great stuff here Kegetys... Many thanks!!! xmas_o.gif

Now, maybe someone will use a combination of these beauties (setMousePos, getMousePos, and/or getMousePosRelative) to combat the evil ArmA hardcoded mouse-auto-center while driving! tounge2.gif

Share this post


Link to post
Share on other sites

Can you create a version for the linux server too?

Would be very appreciated!

Yours

Crowe

Share this post


Link to post
Share on other sites

Thanks for this work.

Share this post


Link to post
Share on other sites
Can you create a version for the linux server too?

Very unlikely

Share this post


Link to post
Share on other sites
Can you create a version for the linux server too?

Very unlikely

Uninteresting to me, then, but awesome work nonetheless, as usual by Kegetys smile_o.gif

Share this post


Link to post
Share on other sites

Any thoughts about the rotating stars Kegs?

Share this post


Link to post
Share on other sites
Any thoughts about the rotating stars Kegs?

They are propably drawn with a differen transformation matrix than what is currently modified, and/or handled differently such as with "software" transform so they are not affected by the changes.

Share this post


Link to post
Share on other sites

A quick update that fixes some bugs, adds a few features and makes it easy to detect ArmAlib presence (the alibinterface.sqf is now safe to include even if ArmAlib is not present, and global var 'ArmAlib' is true/false depending on ArmAlib presence). The documentation also has some sample code for using the SQLite databases.

Full changelog:

- Fixed some SQL parameter parsing bugs (strings within arrays, empty return arrays)

- Further improved fast SQL database speed

- When mission changes or DB is closed, COMMIT is automatically sent to both SQLite databases to commit any open transactions automatically

- Fixed possible crash with 'commands' command

- Added commands: createUUID, getTicks, getFrameNumber

- Added 'ArmAlib' global boolean variable to alibinterface.sqf to detect if ArmAlib is available

Download from my site

Share this post


Link to post
Share on other sites
..and i retract the complaint about it not being universal. It was a doddle to do one myself biggrin_o.gif No complaints Keg's, top, top work.

Could you post that addon here please? smile_o.gif

And about ArmAlib: Great work and I look forward to all the things that might spawn out of this.

Share this post


Link to post
Share on other sites

Hi all

Great work Kegetys.

I suggest people use this to improve Sarahni Life, Warfare and Evolution. With it running server side you can store peoples place in game. Then use ArmA user ID to id them; of course ArmA ID can be spoofed.

SO

An addition of a PGP algorithm addon is necessary and we can use public/private key encryption to ID people with certainty. This will allow us to improve general security in ArmA.

Kind regards walker

Share this post


Link to post
Share on other sites
An addition of a PGP algorithm addon is necessary and we can use public/private key encryption to ID people with certainty. This will allow us to improve general security in ArmA.

I think that PGP might be both a little overkill and a little over too many people's heads.  Maybe implementing SHA256 so we can create password systems instead?  Its not the most secure method since the password transfer would be sent cleartext (or if you encrypted the transfer before it took place, you could get the salt by just decompiling the mission), but it would stop casual spoofing.

Share this post


Link to post
Share on other sites

this is brilliant and definitely a great addition to arma

i will surely take full use of this in the future

but a basic file write function would be very useful

pipe is great and all, but requires something seperate to be launched if you actually want to touch stuff outside arma

and sqlite is great, but requires armalib

i'm making a fairly general purpose addon that will benefit greatly from armalib in usability, but i'd hate to make the addon to exclusively require armalib, as i'm sure there's some people who shun on dll injection as such

original design was to have an external application that would configure the addon - which is not the optimal solution, but acceptable

with armalib i would either have to force everyone to have a background process altering files - which is unacceptable - or use sqlite - which would be limited to only those who have armalib, which is not a good solution at all either

ofcourse i could do two versions, but with twice the work and bugs

while a simple filewrite() from armalib would allow fluid functionality of both without conflict

Share this post


Link to post
Share on other sites

Hi all

In reply to weegee_101

Incorporating an RSA or DSA signature algorithm via Open Pretty Good Privacy is probably the easiest solution to implement since the algorithms already exist and so does the security checking and revision structure.

Why reinvent the wheel?

As to user side. The key generation and ArmA implimentation can be made user transparent. No harder than installing a program something all gamers do anyway.

Servers and major ArmA news sites can act as certificate authorities and provide certificate revocation lists.

Kind Regrds walker

Share this post


Link to post
Share on other sites
Incorporating an RSA or DSA signature algorithm via Open Pretty Good Privacy is probably the easiest solution to implement since the algorithms already exist and so does the security checking and revision structure.

Why reinvent the wheel?

Its not reinventing the wheel at all.  SHA256 password protection would be very easy to implement as well.  The algorithms also exist and on the tools side Kegetys (or someone helping him) can just create a "password" function for password authentication.  The mission maker would have to pass three things to it, user_id, password, and the SHA salt.  The return would be a true or false as to whether or not the authentication successful.  You'd have to do similar authentication with PGP as well to verify that the key is correct.  The password would be stored in the SQL database encrypted in the SHA256 format under a "user's" table.

For user creation... the first time a user hits a server running a certain mission, you check if they've been there before (Already gotta do that if you're going to store their data) and present them with an account creation dialogue; user enters their password of choice and it uploads their initial data to the "users" table or whatever the mission maker wants to call it.

Either way you're going to need to implement some kind of authentication API; same amount of work, just a different approach.  Accounts are tried and true methods that users are familiar with.

Share this post


Link to post
Share on other sites

Hi all

In reply to weegee_101

PGP type Certificates is easier no password or User ID to remember. And they cannot be so easily cracked.

Certificates allow sharing of data between servers as all that is being passed is the public key.

This allows ranks and rep to be cross referenced using the HTML query to secure HTML servers that hold rank.

As a process it builds trust between servers and allows riff raff to be weeded out.

You can also pass ranks via server public keys so it is as near to 100% secure as is possible that you reached that rank on web of trust basis. Server sends out its public key then encrypts a players rank at end of game with its private key. It would prevent a person in Sarahni Life giving them self unlimited money and that is just one example.

As you can see certificates is a far more flexible, secure and strategic solution.

Kind regards walker

Share this post


Link to post
Share on other sites

@walker

The user wouldn't have to remember their id, only their password. While I see your point with PGP Certificates I know from experience (I'm a professional programmer dealing with mostly networking code) that they will be fairly unpopular. For many computer savvy people (including myself) its just another thing that doesn't bother us, but PGP isn't more widespread because its not exactly the easiest thing to understand. I've actually had one user I've helped set up PGP for his email complain during the configuration process about having to move his mouse so much. His computer wasn't the best and it had a hell of a time generating enough entropy to generate his keys; 4 minutes of moving his mouse IIRC.

If it is implemented, it needs to be implemented well. 90% of PGP implementations I've seen are shoddy and not very user friendly.

To be honest if a crypto package is done for ArmAlib, I don't see why both certificates and challenge methods can't be implemented.

Also... in order for ranks to be updated on an HTML server I believe HTTP POST would have to be implemented or we need some way to access an external SQL. Both of which I would be pleased to see.

EDIT: Actually... how do you expect to upload the server side key of the PGP pair for a user? We don't have any HTTP POST or PUT methods and requiring a third party to upload it to a server is a great idea for private servers but a horrible one for public servers.

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  

×