Jump to content
torndeco

extDB (arma3 extension linux/windows)

Recommended Posts

extDB2 works fine with Arma2/3
Your issue is purely SQF code error
Also the error you pasted is for different code that what you pasted below.

It is similiar code but its not the same.

Share this post


Link to post
Share on other sites

Thank you. The function (fn_async.sqf) is from Tonic's Altis Life RPG (credits to him) and has A3 only commands such as isEqualTo, etc... I don't suppose you have an alternative function like this that works in Arma 2? I tried changing the commands to Arma 2 standard and now nothing works. :D

 

Haz

Share this post


Link to post
Share on other sites

I have spent about a couple hours know reading through the documentation continuously and still have not figured out how the hell you are to use this on your own mission as im trying to setup a extDB module to save player gear locations info and vehicles gear and locations and objects and locations. If Anyone can help me out your help will be greatly appreciated and maybe even rewarded.

 

Cheers, Ducky

 

Hi Ducky,

 

I am sure the following link will help regarding your query:

http://www.armaholic.com/page.php?id=29345

 

Regards,

Jesse

Share this post


Link to post
Share on other sites

I have spent about a couple hours know reading through the documentation continuously and still have not figured out how the hell you are to use this on your own mission as im trying to setup a extDB module to save player gear locations info and vehicles gear and locations and objects and locations.

 

 

I concur with Ducky. I'm a DBA by trade, so this is double frustrating for me. :) I'm probably making an obvious mistake. Hopefully someone can assist.

 

What I accomplished:

+With the Arma 3 editor, I've made a fairly basic multiplayer mission.

+My custom mission runs fine by itself and friends can join in when I run a test server locally.

 

Now I decide to try and make some statistics persistent:

+I've set up a MySQL Server running locally, all ports open, database ready and waiting.

+I've downloaded extDB2 and placed it within my .../Arma 3 directory. I've also copied tbb + tbbmalloc dlls as well.

+I've altered the extdb-conf.ini to point to my local database.

+I add @extDB2 to my launch parameters

+I start Arma 3 (and see that extDB is listed in the addons section at the bottom) and go into the Editor and load my custom scenario.

 

So, now what? There's no where I can find in the Editor that lists extDB processes. How do I get my scenario to use extDB? This is the missing piece of the puzzle for me.

Share this post


Link to post
Share on other sites

extDB2 is not drop and replace and use arma inbuilt editor for missions etc...

extDB2 is basically a customizable connector that allows arma to talk to a MySQL/MariaDB/SQLite Database.

It is up to you to code an SQF Framework to use extDB2 to save/load from a database.

Try look at other mods/missions that are using extDB2.
Currently my recommend to look at to start with is 

 

https://github.com/MrEliasen/Supremacy-Framework

http://www.exilemod.com(is alot more complicated, but prob has one of the best implementationsof extDB2 i seen so far)
 
-----------------

Note:
If you are still confused this extension is alot simpler to use i.e http://www.armaholic.com/page.php?id=26985

Share this post


Link to post
Share on other sites

 

extDB2 is not drop and replace and use arma inbuilt editor for missions etc...

extDB2 is basically a customizable connector that allows arma to talk to a MySQL/MariaDB/SQLite Database.

It is up to you to code an SQF Framework to use extDB2 to save/load from a database.

Try look at other mods/missions that are using extDB2.

Currently my recommend to look at to start with is 

 

https://github.com/MrEliasen/Supremacy-Framework

http://www.exilemod.com(is alot more complicated, but prob has one of the best implementationsof extDB2 i seen so far)
 
-----------------

Note:

If you are still confused this extension is alot simpler to use i.e http://www.armaholic.com/page.php?id=26985

 

 

 

Thank you torndeco. I have seen the extension using node. Ironically, I went with extDB2 because of my background and figured it'd be easier/simpler given the limited number of concurrent players on an Arma 3 server. I've looked through Supremacy and yeah, I'm still confused, but now it's not about the stat-saving anymore, now it's personal. lol. I want to figure this out! My confusion stems from not having some sort of walk-through. Do you know of anything like this on the internet (because I can't find it): a very brief walk-through that simply shows someone taking a basic mission and setting up a one-SQL-script example using extDB, like just saving the date/time the player logged on or somesuch and then retrieving it from the DB. That would pretty much answer all my questions.

I'm not sure where the block in my brain is, but I keep hitting a wall when trying to link together the disparate elements of mission, extDB, and MySQL. Thanks for your time

Share this post


Link to post
Share on other sites

Hello,

I am trying to connect a mission to my MySQL database, so I can save some player stats, however I am very confused about how to make a call to the database to insert the players data. Currently the snippet is just a test to see if the database is recieving the data. Please correct any issues, you just help me write a line or two to be able to correctly connect.

"extDB2" callExtension "1:Test:Save";
[Main]
Version = 5

;Threads = 0  
; Default Value is the number of CPU Cores Detected (max value is 6, min value is 2)

Randomize Config File = false
;This is a legacy option to randomize config file for Arma2 Servers. Only for Windows Builds


[Rcon]
;; This is functional, should be working fine. Just needs abit of testing on a $
;; Allow for changing Address for those running server in a VM environment.
IP = 127.0.0.1
Port = 2302

;; Rcon Password i.e Battleye/beserver.cfg
Password = password

;; Bad Player Name Checks
;;		This will only work if your mission / mod has started extDB2 Rcon. i.e 9:START_RCON:RCON
Bad Playername Enable = false
Bad Playername Kick Message = Bad Player Name

;; By default : is a bad character (used as seperator for extDB2 Calls (this is hardcoded in)
;;Bad Playername Strings = (:):{:}
;;Bad Playername Regex_1 = [:alnum:]
;;Bad Playername Regex_2 = [:alnum:]
;;Bad Playername Regex_3 = [:alnum:]


;; Whitelisting / Reserve Slots
;;		This will only work if your mission / mod has started extDB2 Rcon. i.e 9:START_RCON:RCON
Whitelist Enable = false
Whitelist Kick Message = Only Reserved Slots Left

Whitelist Public Slots = 999

;; Database settings to use (Optional)
Whitelist Database = MySQL_Example
Whitelist SQL Prepared Statement = SELECT CASE WHEN EXISTS(SELECT UID FROM PlayerInfo WHERE BattlEyeGUID=? AND Whitelisted=1) THEN 1 ELSE 0 END
Whitelist Kick on SQL Query Failed = false

;; Hardcoded BEGuids for whitelisted players
;Whitelist BEGuids = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy


[RemoteAccess]
;; Remote TCP Access to extDB2
Enable = true

Port = 2300
MaxThreads = 4
MaxQueued = 4
IdleTime = 120

Password = password


[Steam]
;; This is for VAC Protocol for VAC Bans + Steam Friends.
;; https://steamcommunity.com/dev/apikey
API Key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


[VAC]
;; This feature requires Steam + Rcon to be enabled.
;; Also this feature is called via SQF Code atm, i.e it doesn't auto detect players joining server yet....
Auto Ban = true

;; For Player to get banned ( their total VAC Bans => NumberOfVACBans)  AND ( Days Since their Last Ban was <= DaysSinceLastBan)
;; This is also used extDB Protocol VAC:VACBanned returned results

NumberOfVACBans = 1
DaysSinceLastBan = 999999999
BanDuration = 0
;; 0 = Forever, otherwise its x Minutes
BanMessage = Steam VAC Banned


[Log]
;; Flush Logs after each write, more work on Harddrive
Flush = true


[Test]
Type = MySQL
Name = Test

Username = root
Password = ********

IP = **.**.**.***
Port = 3306

;minSessions = 2
idleTime = 60

compress = false
; Really should only use this if MySQL server is external. Also only for MySQL

Secure Auth = true
; Recommend you turn this on  http://dev.mysql.com/doc/refman/5.6/en/mysql-command-options.html#option_mysql_secure-auth


[MySQL_Example]
Type = MySQL
Name = Database_Name

Username = root
Password = password

IP = 127.0.0.1
Port = 3306

;minSessions = 2
idleTime = 60

compress = false
; Really should only use this if MySQL server is external. Also only for MySQL

Secure Auth = true
; Recommend you turn this on  http://dev.mysql.com/doc/refman/5.6/en/mysql-command-options.html#option_mysql_secure-auth


[SQLite_Example]
Type = SQLite
Name = sqlite.db

minSessions = 1
; minSession Default Value = 1

;maxSessions = 4
; maxSession Default Value = number of Main->Threads
; 	You really should leave this value alone
idleTime = 60
; idleTime no Default Value yet, needs to be defined.
; 	idleTime is the time before a database session is stopped if not used. 
;	If Database Sessions are greater than minSessions


[HTTP_Example]
Type = HTTP

Host = 127.0.0.1
Port = 80

; Username = user
; Password = password

;Database Calls
[Save]
SQL1_1 = INSERT INTO PlayerInfo (UID, Name, BattlEyeGUID)
SQL1_2 = VALUES ('HELLO', 2, 3);
Number of Inputs = 3

Share this post


Link to post
Share on other sites

;Database Calls
[Save]
SQL1_1 = INSERT INTO PlayerInfo (UID, Name, BattlEyeGUID)
SQL1_2 = VALUES (?, ?, ?);
Number of Inputs = 3
_query = [_uid, _name, _beguid] joinString ":";
"extDB2" callExtension _query;

Or better way to accomplish the same is to get extDB2 to generate the beguid from the player uid.

Since there is no ingame method, unless you went through the hassle of writing that in SQF Code.

Note: player names can't contain : since extDB2 uses it as a seperator character.

 

 
;Database Calls
[Save]
SQL1_1 = INSERT INTO PlayerInfo (UID, Name, BattlEyeGUID)
SQL1_2 = VALUES (?, ?, ?);
SQL1_INPUTS = 1, 2, 3-BeGUID
Number of Inputs = 2
_query = [_uid, _name] joinString ":";
"extDB2" callExtension _query;

joinString is better than format, since its not limited by 8k size in length.

Looks to be tiny bit slower in testing, but not by any significant margin.

Share this post


Link to post
Share on other sites
;Database Calls
[Save]
SQL1_1 = INSERT INTO PlayerInfo (UID, Name, BattlEyeGUID)
SQL1_2 = VALUES (?, ?, ?);
Number of Inputs = 3
_query = [_uid, _name, _beguid] joinString ":";
"extDB2" callExtension _query;

Or better way to accomplish the same is to get extDB2 to generate the beguid from the player uid.

Since there is no ingame method, unless you went through the hassle of writing that in SQF Code.

Note: player names can't contain : since extDB2 uses it as a seperator character.

 

 
;Database Calls
[Save]
SQL1_1 = INSERT INTO PlayerInfo (UID, Name, BattlEyeGUID)
SQL1_2 = VALUES (?, ?, ?);
SQL1_INPUTS = 1, 2, 3-BeGUID
Number of Inputs = 2
_query = [_uid, _name] joinString ":";
"extDB2" callExtension _query;

joinString is better than format, since its not limited by 8k size in length.

Looks to be tiny bit slower in testing, but not by any significant margin.

 

 

 

I'm still unable to get anything to actually log into my database. I am not sure I understand what joinString does, some explanation would be very helpful :P Here is the scripts after the modifications suggested by you, please tell me if there is anything wrong with it.

_unit = player;
removeAllItems _unit;
removeAllAssignedItems _unit;
removeUniform _unit;
removeVest _unit;
player addweapon "SMG_01_F";
player addPrimaryWeaponItem "muzzle_snds_acp";
player addPrimaryWeaponItem "optic_Holosight";
player addPrimaryWeaponItem "acc_flashlight";
player addMagazine "30Rnd_45ACP_Mag_SMG_01";
player addBackpack "B_AssaultPack_blk";
player forceAddUniform "U_IG_Guerilla2_3";
player addWeapon "hgun_ACPC2_F";
player addMagazine "9Rnd_45ACP_Mag";
player addSecondaryWeaponItem "muzzle_snds_acp";
player addItem "H_Cap_usblack";
player addVest "V_TacVest_blk_POLICE";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "30Rnd_45ACP_Mag_SMG_01";
player addItemToVest "9Rnd_45_ACP_Mag";
player addItemToVest "9Rnd_45_ACP_Mag";
player addItemToVest "9Rnd_45_ACP_Mag";
player addItemToVest "9Rnd_45_ACP_Mag";
player addItemToBackpack "FirstAidKit";
player addItemToBackpack "FirstAidKit";
player addItemToBackpack "FirstAidKit";

_query = [_uid, _name, _beguid] joinString ":";
"extDB2" callExtension _query;


[Main]
Version = 5

;Threads = 0  
; Default Value is the number of CPU Cores Detected (max value is 6, min value is 2)

Randomize Config File = false
;This is a legacy option to randomize config file for Arma2 Servers. Only for Windows Builds


[Rcon]
;; This is functional, should be working fine. Just needs abit of testing on a $
;; Allow for changing Address for those running server in a VM environment.
IP = 127.0.0.1
Port = 2302

;; Rcon Password i.e Battleye/beserver.cfg
Password = password

;; Bad Player Name Checks
;;		This will only work if your mission / mod has started extDB2 Rcon. i.e 9:START_RCON:RCON
Bad Playername Enable = false
Bad Playername Kick Message = Bad Player Name

;; By default : is a bad character (used as seperator for extDB2 Calls (this is hardcoded in)
;;Bad Playername Strings = (:):{:}
;;Bad Playername Regex_1 = [:alnum:]
;;Bad Playername Regex_2 = [:alnum:]
;;Bad Playername Regex_3 = [:alnum:]


;; Whitelisting / Reserve Slots
;;		This will only work if your mission / mod has started extDB2 Rcon. i.e 9:START_RCON:RCON
Whitelist Enable = false
Whitelist Kick Message = Only Reserved Slots Left

Whitelist Public Slots = 999

;; Database settings to use (Optional)
Whitelist Database = MySQL_Example
Whitelist SQL Prepared Statement = SELECT CASE WHEN EXISTS(SELECT UID FROM PlayerInfo WHERE BattlEyeGUID=? AND Whitelisted=1) THEN 1 ELSE 0 END
Whitelist Kick on SQL Query Failed = false

;; Hardcoded BEGuids for whitelisted players
;Whitelist BEGuids = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy


[RemoteAccess]
;; Remote TCP Access to extDB2
Enable = true

Port = 2300
MaxThreads = 4
MaxQueued = 4
IdleTime = 120

Password = password


[Steam]
;; This is for VAC Protocol for VAC Bans + Steam Friends.
;; https://steamcommunity.com/dev/apikey
API Key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


[VAC]
;; This feature requires Steam + Rcon to be enabled.
;; Also this feature is called via SQF Code atm, i.e it doesn't auto detect players joining server yet....
Auto Ban = true

;; For Player to get banned ( their total VAC Bans => NumberOfVACBans)  AND ( Days Since their Last Ban was <= DaysSinceLastBan)
;; This is also used extDB Protocol VAC:VACBanned returned results

NumberOfVACBans = 1
DaysSinceLastBan = 999999999
BanDuration = 0
;; 0 = Forever, otherwise its x Minutes
BanMessage = Steam VAC Banned


[Log]
;; Flush Logs after each write, more work on Harddrive
Flush = true


[Test]
Type = MySQL
Name = Test

Username = root
Password = **********

IP = *************
Port = 3306

;minSessions = 2
idleTime = 60

compress = false
; Really should only use this if MySQL server is external. Also only for MySQL

Secure Auth = true
; Recommend you turn this on  http://dev.mysql.com/doc/refman/5.6/en/mysql-command-options.html#option_mysql_secure-auth

;Database Calls
[Save]
SQL1_1 = INSERT INTO Test (UID, Name, BattlEyeGUID)
SQL1_2 = VALUES (?, ?, ?);
SQL1_INPUTS = 1, 2, 3-BeGUID
Number of Inputs = 3

Share this post


Link to post
Share on other sites

Sorry i should have had
 

_query = ["1:TEST:SAVE",_uid, _name] joinString ":";

Its all documented in the wiki, there are also various missions using extDB2 that you can look at.
You should also look @ extDB2 logs for debug info etc

 

There is also a console test application where you can type the commands into a window & test if they are working correctly.
Before you add it to SQF Code etc

Share this post


Link to post
Share on other sites

Version 67
https://github.com/Torndeco/extDB2/releases/tag/67

 

This is just an updated build of extDB2, compiled against newer versions of various libraries.
The biggest change is SQLite compiled updated to 3.9.2

 

Updated Libraries (etc) also include
Intel TBB
SPDLog
Boost 
Poco
MySQL 5.7.9

 

 

Notes about Battleye Whitelisting
BE Whitelisting is completely messed up imo, i really cant be bothered to get the extension whitelisted.
Also BE appears to randomly block whitelisted extensions (i assume this happens when BE Master Server failes to respond in time i.e its getting DDOS Attacked).
So even if it gets whitelisted, you can depend the extension will work 100%, which can be annoying for an extension used for persistence.

If you really need to get extDB2 whitelisted.
You can send BE an email after BE blocks extDB2, they will whitelist it (no need to send them dll or sourcecode).
Or you can try randomly call the extension daily so BE Blocks it, eventually BE will automatically get whitelist the extension (believe this is still current behaviour for BE).
SQF While Loop calling the extension should help speed this up


 

Share this post


Link to post
Share on other sites

This is most likely a simple problem, but any help you could provide would help me immensely.
 

Due to the 1.54 ArmA update crashing some life servers often (including ours) we were advised by Dwarden to make sure our extDB2 dll files are up to date.  After noticing ours was hanging back at ver 62, I downloaded the latest release, ver 69, and copied the appropriate DLL's over. The server boots up fine,but the DLL is having trouble with the changes from revision 62 to 69. I have seen the changelogs, deciding to use certain protocols instead of others, but I have never really had to tangle with these before. Using revision 69 generates the pretty straightforward error:

[03:27:50:849096 --5:00] [Thread 10956] extDB2: Database Type: MySQL
[03:27:50:851894 --5:00] [Thread 10956] extDB2: Database Session Pool Started
[03:27:50:852121 --5:00] [Thread 10956] extDB2: Failed to Load Unknown Protocol: SQL_RAW
[03:27:50:877368 --5:00] [Thread 10956] extDB2: Error Unknown Protocol: 516855  Input String: 2:516855:SELECT list FROM zones WHERE id = '1'
[03:27:50:885143 --5:00] [Thread 10956] extDB2: Error: Syntax error: Not a valid integer: Error Unknown Protocol
[03:27:50:885179 --5:00] [Thread 10956] extDB2: Error: Input String 4:Error Unknown Protocol
[03:30:25:585025 --5:00] [Thread 10956] extDB2: Stopping ...

So it seems the issue is our revision 62 copy of extDB2 is using SQL_RAW as the operating protocol. And the 69 revision no longer supports that.

Any idea where I would start with getting it compatible again?  My current thoughts on the matter were that it would take me going through all the SQL calls in our files and changing them from the SQL_RAW layout to the new  few, SQL_CUSTOM_V2 and such. 

 

Like I said, any help would be appreciated, I wasn't the one who set this system up for our life server, so I'm just trying to get it put back together again.

Cheers!

Share this post


Link to post
Share on other sites

@Patches 

https://github.com/Torndeco/extDB2/wiki/Calls:-Protocol-SQL_RAW
The last line details the difference between SQL_RAW + SQL_RAW_V2

Yes if you switched over to SQL_CUSTOM_V2 & its done properly it will be faster + more secure.
But its alot of work todo solo, check out https://github.com/danielstuart14/Altis-Life or goto Altis Life RPG Forums for support.

Anyway goodluck

Share this post


Link to post
Share on other sites

Version 70

https://github.com/Torndeco/extDB2/releases/tag/70
 

  • Fixed: 9:LOCAL_TIME now returns localtime
  • Updated: Poco Library + MySQL + Intel TBB Malloc
  • Updated: extDB2 now build against Windows 10 SDK


Known Issues:
9:DateAdd Might be off by afew +- afew minutes.

 

 

Edit: Finally got around to updating the wiki with the new time / date functions  https://github.com/Torndeco/extDB2/wiki/Calls:-Setup

Share this post


Link to post
Share on other sites

will there be a solution for long values like TEXT, LONG TEXT or something like that? we need at least 3kb in one query so that would be TEXT or SHORTTEXT i think but it doesnt work

Share this post


Link to post
Share on other sites

will there be a solution for long values like TEXT, LONG TEXT or something like that? we need at least 3kb in one query so that would be TEXT or SHORTTEXT i think but it doesnt work

TINYTEXT 255 (+1 byte overhead)
TEXT 64K - 1 (+2 bytes overhead)
MEDIUMTEXT 16M - 1 (+3 bytes overhead)
LONGTEXT 4G - 1 (+4 bytes overhead)

TINYTEXT + TEXT Work fines and is used by most/all mission/addons using extDB2.

MEDIUMTEXT can cause issues, if a query has to many rows&columns that contain MEDIUMTEXT.

LONGTEXT will result in crashes, you don't need 4GB Text.

Arma couldn't handle that much anyways its only a 32bit application.

 

------------------------

Short version just use TEXT 64/65k Text is plently.

Or use varchar if you know the length of input i.e steamID

edit: Give me a shout on discord / skype if you are still having issues

Share this post


Link to post
Share on other sites

ah okay, have to check again then. we had a TEXT field and it didnt contain the full string that we inserted.. but maybe it was a mistake with the string/escaping/.. thanks for the info, will check it later and report if there is something wrong

Share this post


Link to post
Share on other sites

Hey guys. I am trying to convert my RPG Persistent code from iniDBi to extDB. Is there a checklist or something i can go through as my connection to my sql-lite DB doesn't appear to be working. I am sure I am missing a config file or something. I have done the ini file with the correct data, I just need a bit of help with all the config points.

 

Thanks in advance :)

Share this post


Link to post
Share on other sites

Check extDB2 log files for error messages...
Use the Debug Version of extDB2 & send me the log version if you are still having issues.

Share this post


Link to post
Share on other sites

Hi,

 

Thanks for taking the 3 minutes to talk to me today on Steam. 

 

So here is my installation

 

[Arma3 RooT Folder]

 

tbbmalloc.dll

[@extDB]

[@extDB2_DEBUG]

 

Arma 3 Initialization is

arma3.exe" -window -exThreads=7 -cpuCount=6 -maxVRAM=8192 -skipintro -name=OzDeaDMeaT -showScriptErrors -maxMem=32768 -nosplash -enableHT "-mod=@extDB2_DEBUG"

 

extdb-conf.ini (saved as UTF-8)

 

////START////

 

[Main]
Version = 5
 
;Threads = 0  
; Default Value is the number of CPU Cores Detected (max value is 6, min value is 2)
 
Randomize Config File = false
;This is a legacy option to randomize config file for Arma2 Servers. Only for Windows Builds
 
 
[Rcon]
;; This is functional, should be working fine. Just needs abit of testing on a $
;; Allow for changing Address for those running server in a VM environment.
;;IP = 127.0.0.1
;;Port = 2302
 
;; Rcon Password i.e Battleye/beserver.cfg
;;Password = password
 
;; Bad Player Name Checks
;; This will only work if your mission / mod has started extDB2 Rcon. i.e 9:START_RCON:RCON
;;Bad Playername Enable = false
;;Bad Playername Kick Message = Bad Player Name
 
;; By default : is a bad character (used as seperator for extDB2 Calls (this is hardcoded in)
;;Bad Playername Strings = ( :):{:}
;;Bad Playername Regex_1 = [:alnum:]
;;Bad Playername Regex_2 = [:alnum:]
;;Bad Playername Regex_3 = [:alnum:]
 
 
;; Whitelisting / Reserve Slots
;; This will only work if your mission / mod has started extDB2 Rcon. i.e 9:START_RCON:RCON
Whitelist Enable = false
Whitelist Kick Message = Only Reserved Slots Left
 
Whitelist Public Slots = 999
 
;; Database settings to use (Optional)
;;Whitelist Database = MySQL_Example
;;Whitelist SQL Prepared Statement = SELECT CASE WHEN EXISTS(SELECT UID FROM PlayerInfo WHERE BattlEyeGUID=? AND Whitelisted=1) THEN 1 ELSE 0 END
;;Whitelist Kick on SQL Query Failed = false
 
;; Hardcoded BEGuids for whitelisted players
;Whitelist BEGuids = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx : yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
 
 
[steam]
;; This is for VAC Protocol for VAC Bans + Steam Friends.
API Key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
 
[VAC]
;; This feature requires Steam + Rcon to be enabled.
;; Also this feature is called via SQF Code atm, i.e it doesn't auto detect players joining server yet....
Auto Ban = true
 
;; For Player to get banned ( their total VAC Bans => NumberOfVACBans)  AND ( Days Since their Last Ban was <= DaysSinceLastBan)
;; This is also used extDB Protocol VAC:VACBanned returned results
 
NumberOfVACBans = 1
DaysSinceLastBan = 999999999
BanDuration = 0
;; 0 = Forever, otherwise its x Minutes
BanMessage = Steam VAC Banned
 
 
[Log]
;; Flush Logs after each write, more work on Harddrive
Flush = true
 
[Arma3_TESTDB]
Type = SQLite
Name = g:\SQL-Lite\arma3_test.db
 
minSessions = 1
; minSession Default Value = 1
 
;maxSessions = 4
; maxSession Default Value = number of Main->Threads
; You really should leave this value alone
idleTime = 60
; idleTime no Default Value yet, needs to be defined.
; idleTime is the time before a database session is stopped if not used. 
; If Database Sessions are greater than minSessions

 

////END////

 

Questions:

 

1. Can I have both @extDB and @extDB_DEBUG running at the same time?

 

2. As I am using SQL-Lite, do I need to have the Database file in the same location folder as the extDB dll's?

 

3. Do I need to initialize the extension before calling it? 

The following line is executed from my init.sqf (the only line in the init.sqf file.

hint format ["%1", "extDB2" callExtension "9:VERSION"]

This returns nothing and does not show a hint at all.

 

I am sure it is something simple. I am just not sure what it is I am missing.

 

 

 

 

 

 

 

 

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

×