Jump to content
Sign in to follow this  
HeliJunkie

Arma2Net - MySqlPlugin

Recommended Posts

Arma2NET MySqlPlugin

Current Version: 0.8.0.0 (05/30/2012)

Hello community!

This is a MySqlPlugin for Arma2Net.

So first, a thumb up :rthumb: to Scott_NZ for the great idea writing Arma2Net

With this plugin you are able to establish a connection to a MySql database and execute querys to it inside Arma2.

I think this will give a lot of new possibilities!

Dowload site: https://bitbucket.org/ubruns/arma2net-mysql/downloads

Wiki: https://bitbucket.org/ubruns/arma2net-mysql/wiki/Home (read installation instructions)

Command reference: https://bitbucket.org/ubruns/arma2net-mysql/wiki/Commands

Issue Tracker: https://bitbucket.org/ubruns/arma2net-mysql/issues

Happy SQL-ing !

HeliJunkie

Changelog see spoiler:

V0.8.0.0:

+ Mutliple connections possible.

+ Result can extend the 4096 byte length (mutliple calls needed)

+ You can use a ConfigurationFile to seperate MySQL Connection data from mission. (more secure)

! Sytax changes

! Tested with Arma2Net V1.9

V0.5.0.0: Inital Version

Edited by HeliJunkie

Share this post


Link to post
Share on other sites

Your wiki and command reference links require me to sign into a website.

Can't we just view the pages without signing in?

Share this post


Link to post
Share on other sites

Great stuff HeliJunkie and kudos to Scott :bounce3:

Share this post


Link to post
Share on other sites
Your wiki and command reference links require me to sign into a website.

Can't we just view the pages without signing in?

Even when logged in its not possible to see them, I think he has set the wiki to private.

Share this post


Link to post
Share on other sites

Maybe you could ask Sickboy for some space on DevHeaven? Would there be any plans in the future to support MSSQL Server? What with this and Java over on ToH the possibilities are becoming huge. I just need to think of an application to implement so I can learn it!

Share this post


Link to post
Share on other sites
Your wiki and command reference links require me to sign into a website.

Can't we just view the pages without signing in?

Sorry!

Changed it to be public!

---------- Post added at 17:40 ---------- Previous post was at 17:36 ----------

Maybe you could ask Sickboy for some space on DevHeaven?

I prefer bitbucket.

Would there be any plans in the future to support MSSQL Server?

If there MSSQL is requested, I could write another plugin for MSSQL.

What with this and Java over on ToH the possibilities are becoming huge. I just need to think of an application to implement so I can learn it!

I don't own TOH.

Edited by HeliJunkie

Share this post


Link to post
Share on other sites
What with this and Java over on ToH the possibilities are becoming huge. I just need to think of an application to implement so I can learn it!

Java should already have some built in database functionality with JDBC

http://www.oracle.com/technetwork/java/javase/jdbc/index.html

Good work HeliJunkie, I'll probably be making use of this

EDIT: Just saw this piece of code

Result = call compile "Arma2Net.Unmanaged" callExtension "mysql [open, MyDBServer, Arma2DB, ArmaDBUser, MyPaSsWoRd]"
if ((Result select 0) == true) {
 hint("Connection successful");
} 
else {
 hint(formatText["Connection failed. Errorinformation:\n%1", Result select 1])
}

Is it possible to let us use a configuration file alongside the database plugin so we don't have to put our authentication data in plain text within a script? It'd be very easy for somebody to download a mission, dePBO it and get our database auth.

Share this post


Link to post
Share on other sites
I don't own TOH.

Just a general comment - wasn't asking for a java plugin!

Share this post


Link to post
Share on other sites

Is it possible to let us use a configuration file alongside the database plugin so we don't have to put our authentication data in plain text within a script? It'd be very easy for somebody to download a mission, dePBO it and get our database auth.

Planned for a future version.

But MYSQL can be set up to allow login only from a specific host. So nobody can connect to your database with the login credentials, if the login doesn't come from the defined host.

Edited by HeliJunkie

Share this post


Link to post
Share on other sites
Planned for a future version.

But MYSQL can be set up to allow login only from a specifiy host. So nobody can connect to your database with the login credentials, if the login doesn't come from the defined host.

Good point, I overlook these things sometimes.

Share this post


Link to post
Share on other sites

EDIT: Just saw this piece of code

Result = call compile "Arma2Net.Unmanaged" callExtension "mysql [open, MyDBServer, Arma2DB, ArmaDBUser, MyPaSsWoRd]"
if ((Result select 0) == true) {
 hint("Connection successful");
} 
else {
 hint(formatText["Connection failed. Errorinformation:\n%1", Result select 1])
}

Is it possible to let us use a configuration file alongside the database plugin so we don't have to put our authentication data in plain text within a script? It'd be very easy for somebody to download a mission, dePBO it and get our database auth.

Just load some variables with login/pass on serverside from external sqf...

for example:

Make serverVars.sqf and put it inside your arma2 server dir with vars in it like

DBLogin = "username";
DBPass = "password";

Then on mission init

if (isServer) then {
   _exFile = loadFile "serverVars.sqf";
   _compExFile = compile _exFile;
   call _compExFile;
};

BTW I'm not recommend you to use Arma2Net + MySql.

Better way is to use jayarma2lib and arma2mysql (https://dev-heaven.net/projects/arma2-mysql).

Or write some clipboard handle application.. and copy/paste data with builtin arma functions... thats very easy, allows you to transfer data size > than 4kb and much stable of course :)

Share this post


Link to post
Share on other sites
"max length of funcs & arg being 4096 and same on the return value"

Not really. The limit is for return value only. There is no limit on the input on the game side (the extension can impose some limits, but well implemented extension should handle arbitrary length input and at least fail gracefully).

here.

Share this post


Link to post
Share on other sites

Guys,

This seems to be broken with the latest version of Arma2Net 1.9.

I get the following:

05/26/2012 06:57:45 Arma2Net.Managed.Bridge ERROR Caught exception

System.TypeLoadException: Could not load type 'Arma2Net.Managed.FunctionArgumentsInvalidException' from assembly 'Arma2Net.Managed, Version=1.7.0.0, Culture=neutral, PublicKeyToken=8762987cc8e6095e'.

at Arma2NETMySQLPlugin.Arma2NETMySQLPlugin.Run(String args)

at AddInAdapter.Arma2NetAddInAddInAdapter.Run(String args, Int32 maxResultSize)

at HostAdapter.Arma2NetAddInHostAdapter.Run(String args, Int32 maxResultSize)

at Arma2Net.Managed.AddIns.AddInManager.RunAddIn(String addInName, String addInArgs, Int32 maxResultSize)

at Arma2Net.Managed.Bridge.Run(String function, Int32 maxResultSize)

Works fine with v1.8

Cheers

Tup

Share this post


Link to post
Share on other sites

Arma2NET dev here.

I dropped Arma2Net.Managed.FunctionArgumentsInvalidException in version 1.9, in favour of the standard .NET exceptions such as FormatException, ArgumentException etc. You can stick with 1.8 until HeliJunkie updates his plugin to use one of the other exception types.

Share this post


Link to post
Share on other sites

New Version V0.8.0.0 released. Tested with Arma2Net V1.9.

See first post.

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  

×