Giter Club home page Giter Club logo

extdb3's Introduction

extDB3

I have created this repository as an archive to download extDB3, since the repository was closed by bitbucket https://bitbucket.org/torndeco/extdb3/.

A x64 version for Linux is now available!

I released a new version for Windows that changes small things in the library.

Description

extDB3 is an Arma3 Addon for connecting to Databases (currently only MariaDB/MySQL). The main purpose for extDB3 is for persistent missions in Arma. Note it will require some knowledge about SQF & SQL to use. extDB3 is also designed to be flexible & secure at the same time.

License

"extDB3 Addon" is distributed under GPLv3 or later http://www.gnu.org/licenses/ Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License https://creativecommons.org/licenses/by-nc-nd/4.0/

The extension (shared library) i.e extDB3.dll / extDB3.so source code is protected by copyright & is not available publicly under any license atm. But you do have permission to alter/compile the source code for personal usage only. If you wish to redistribute/repackage extDB3.dll / extDB3.so separately you need to ask and get permission first, unless you are covered by FLOSS Exception below.

~~ Arma Server Monetization

You have permission to use "extDB3 Addon" on a monetized arma server(s). Please remember to share by donating to various authors that create content / tools that you are using.

Donate link

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2SUEFTGABTAM2

Wiki

https://github.com/SteezCram/extDB3/wiki

extdb3's People

Contributors

ni1kko avatar steezcram avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

extdb3's Issues

64 bit Linux?

Is it possible to use this with new 64bit Arma 3 Linux Server?

Extdb3 saving things but kills

I was able to setup extdb3 on my server, It seemed that everything worked correctly, when a player joined the server a new column was created with the player's data. but it seems that the kills are bugged, the other day a player had approximately 80 and when he left the server the number was not updated in the database (it is an example of many) Others simply remain at 0. I hope someone can help me

Server still Locked after restart!

Hello,

11:40:11 "Hyper/BIS_fnc_log: [preInit] BIS_fnc_keyframeAnimation_deltaTime (0 ms)"
11:40:11 "---------------------------------------------------------------------"
11:40:11 "---------------------------------------------------------------------"
11:40:11 "extDB3 Loaded"
11:40:11 "---------------------------------------------------------------------"
11:40:11 "---------------------------------------------------------------------"
11:40:11 "Hyper/BIS_fnc_log: [preInit] extDB3_fnc_preInit (0 ms)"
11:40:11 "Hyper/BIS_fnc_log: [preInit] BIS_fnc_getServerVariable (0 ms)"
11:40:11 "[ADMINTOOLKIT] Initializing"
11:40:11 "Hyper/BIS_fnc_log: [preInit] AdminToolkit_fnc_preInit (5.00488 ms)"
11:40:11 "Hyper/BIS_fnc_log: [preInit] HAFM_fnc_PBOInit (0 ms)"
11:40:11 "Hyper/BIS_fnc_log: [preInit] ExileClient_fnc_preInit (259.003 ms)"
11:40:11 "ExileServer - Server is loading..."
11:40:11 "ExileServer - ServerPassword MATCH! server locked for init"
11:40:11 Client: Nonnetwork object 576a7700.
11:40:11 "ExileServer - Installed extDB2 version: 70"
11:40:11 "ExileServer - extDB2: Error extDB2 is already setup & locked !!!"
11:40:11 "ExileServer - Check your server rpt for errors, your mission might be stuck a loop restarting"

Can't find any tutorial

even if i search everywhere on google i can't find any single tutorial for how to use extDB3

ExtDB4 👀

So I have had a few request to update extdb and with Intercept seeming stable with my recent testing, I have decided to give it an overhual and use Intercept in my free time.

C++ is not my main language and it been forever and a day since I have written c++ so bare with me this is a learing curve for me again with that being said I'm hoping others may be motivated to collab or even just give there input for time to time... I'm not looking for donations or anything ExtDB4 is free open source community based project.

Extdb4 Repo <- Please note this is under development and alot of functionality is still to be added

What's eveyones thoughts

Error Unknown Protocol: {407638} when persistent is set to 0

Hello.
I'm having issus that i don't understand.
When persistent is set to 0.
The first sql request that i do work fine, an return the good data.
But the second ( same request that the first ) return any or scalar, and the log give me an error unknow protocol.

The request is sended by the init.sqf at the connection of the player.

server.cfg

persistent=0

extdb3-conf.ini

[Main]
Version = 1

Randomize Config File = false
;; Randomizes Config File after loading.
;;   Recommend to turn on, if you have enabled filepatching on arma.

Allow Reset = false
;; Allows 9:RESET, usefull for development work

Thread = 0
;; Option to force number of worker threads for extDB3.
;;   Auto = 0, Min = 2, Max = 6

[Log]
Flush = false;
;; Flush logfile after each update.
;;    Option really only usefull if running DEBUG BUILD
`

requete.ini 
`[Default]
Version = 1
;; Used incase there is ever a breaking change, or to inform user in log about a new feature.

;;Strip Chars = ""
Strip Chars = "/\|;{}<>'`[]"
;; List of characters to strip out

Strip Chars Mode = 0
;; 0 = Strip Bad Chars, 1 = Strip + Log Bad Chars, 2 = Return Error & Log Bad Chars
;; Note: Logging on works when sending data to database.

Input SQF Parser = false
;; Experimental
;; If enabled will use SQF Array Parser instead of : seperator for values
;; i.e 0:SQL:UpdatePlayer:["Joe",[1,2,0],0.22333,"PlayerBackpack",-3]
;; Advantage is that you don't need to strip : seperator from user inputted values

Number of Retrys = 5
;; Number of Retrys if Error Encountered
;; Note: If doing multiple SQL i.e SQL1_1 SQL2_1 etc, it will retry everything.

; --------------------------------------------------------------------------------
; SQL Statements
; --------------------------------------------------------------------------------

[getUid]
SQL1_1 = SELECT score FROM players WHERE guid=?
SQL1_INPUTS = 1
OUTPUT = 1-STRING

sqf requete

params ["_uid_joueur", "_clientOwner"];

 _query = format["getUid:%1",_uid_joueur];

 _data = [_query, 2] call DB_fnc_asyncCall;

LOG SQL

[11:30:41:220348 +02:00] [Thread 23092] extDB3: Locked
[11:32:08:325241 +02:00] [Thread 23092] extDB3: Error Unknown Protocol: {407638}  Input String: 2:{407638}:getUid:765611979987*****

LOG ARMA : FIRST CONNECTION TO SERVER

11:46:41 "--- LRX Load Game finish at 1.012" 11:46:42 "--- Server Init stop ---" 11:46:42 Weather was forced to change 11:46:42 "askUnitServer UID LOCAL = 765611979987***** " 11:46:42 "count _data = 1 "
`

AFTER DECO/RECO

11:48:07 "--- LRX Load Game finish at 1" 11:48:08 "--- Server Init stop ---" 11:48:08 Weather was forced to change 11:48:08 "askUnitServer UID LOCAL = 765611979987***** " 11:48:08 "count _data = scalar "

Can't connect to my server, error with database connection

Hello,
I can't connect to my server, It tells me that extdb hasn't launched properly
First Error
15:42:23 CallExtension 'extDB3' could not be found 15:42:23 "extDB3 Failed to Load, Check Requirements @ https://github.com/SteezCram/extDB3/wiki/Instalation" 15:42:23 "" 15:42:23 "If you are running this on a client, Battleye will random block extensions. Try Disable Battleye"
Second Error
15:42:26 CallExtension loaded: extdb3 (/home/container/@extdb3/extdb3_x64.so) [�Ŏ��] 15:42:26 "extDB3: Error with Database Connection"
Logs Error

extDB3: https://bitbucket.org/torndeco/extdb3/wiki/Home
extDB3: Version: 1.032
extDB3: Linux Version
Message: All development for extDB3 is done on a Linux Dedicated Server
Message: If you would like to Donate to extDB3 Development
Message: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2SUEFTGABTAM2
Message: Also leave a message if there is any particular feature you would like to see added.
Message: Thanks for all the people that have donated.
Message: Torndeco: 18/05/15


extDB3: Found extdb3-conf.ini
extDB3: Detected 32 Cores, Setting up 6 Worker Threads
extDB3: ...
extDB3: ...
extDB3: ...
extDB3: ...
extDB3: ...
extDB3: ...


[15:42:26 +01:00] [Thread 142] extDB3: Config Error: : No such node (.IP)

SQL_CUSTOM

Hey!

I've been trying to create a Script that logs Playtime of a Player.

playerList = allPlayers;

// Define the interval in seconds between updates
interval = 10;

while {true} do
{
    // Loop through all players
    {
        // Get the player UID
        playerUID = getPlayerUID _x;

        // Get the player's current playtime
        playtime = missionTime;

        // Check if the player's data exists in the database
        "extDB3" callExtension "0:sql:checkPlayer:[playerUID]";

        // If the player's data exists in the database, update it
        if (playerDataExists) then
        {
            "extDB3" callExtension "0:sql:updatePlayerTime:[playerUID, playtime]";
        } else {
            "extDB3" callExtension "0:sql:insertPlayerTime:[playerUID, playtime]";
        }
    } forEach playerList;

    // Wait for the specified interval before updating again
    sleep interval;
};

And for this i created a sql_custom.ini

[Default]

Version = 1  
;; Used incase there is ever a breaking change, or to inform user in log about a new feature.

Strip Chars = ";[]"
;; List of characters to strip out  
Strip Chars Mode = 0
;; 0 = Strip Bad Chars, 1 = Strip + Log Bad Chars, 2 = Return Error & Log Bad Chars  
;;     Note: Logging on works when sending data to database.

Input SQF Parser = false  
;; Expermential  
;;   If enabled will use SQF Array Parser instead of : seperator for values  
;;   i.e   0:SQL:UpdatePlayer:["Joe",[1,2,0],0.22333,"PlayerBackpack",-3]  
;;   Advantage is that you don't need to strip : seperator from user inputted values  

Number of Retrys = 5  
;; Number of Retrys if Error Encountered  
;;  Note: If doing multiple SQL i.e SQL1_1 SQL2_1 etc, it will retry everything.  


[checkPlayer]
Prepared Statement = false
Strip Chars = ""
Strip Chars Mode = 0

SQL1_1 = SELECT * FROM players WHERE PlayerUID = "$CUSTOM_1$";
SQL1_INPUTS = 1-mysql_escape, 2-mysql_escape

[updatePlayerTime]
Prepared Statement = false
Strip Chars = ""
Strip Chars Mode = 0

SQL1_1 = UPDATE players SET playtime = "$CUSTOM_2$" WHERE PlayerUID = "$CUSTOM_1$";
SQL1_INPUTS = 1-mysql_escape, 2-mysql_escape

[insertPlayerTime]
Prepared Statement = false
Strip Chars = ""
Strip Chars Mode = 0

SQL1_1 = INSERT INTO players (PlayerUID, playtime) VALUES ("$CUSTOM_1$", "$CUSTOM_2$");
SQL1_INPUTS = 1-mysql_escape, 2-mysql_escape

There are no Log Errors and also the extDB3 Logs are as follows:

extDB3: https://bitbucket.org/torndeco/extdb3/wiki/Home
extDB3: Version: 1.027
extDB3: Windows Version
Message: All development for extDB3 is done on a Linux Dedicated Server
Message: If you would like to Donate to extDB3 Development
Message: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2SUEFTGABTAM2
Message: Also leave a message if there is any particular feature you would like to see added.
Message: Thanks for all the people that have donated.
Message: Torndeco: 18/05/15


extDB3: Found extdb3-conf.ini
extDB3: Detected 12 Cores, Setting up 6 Worker Threads
extDB3: ...
extDB3: ...
extDB3: ...
extDB3: ...
extDB3: ...
extDB3: ...

Is there anyone that can help me? :D

extDB3: Error Invalid Format

Hi guys i know you arent the onwer of the mod but how i can resolve this erro.
extDB3: Error Invalid Format:
And
Unknow Protocol

extDB3 error

Hi,

Im using extdb3 on my arma 3 exile server. Upgraded from extdb2 today. I got this error in my log. Can you explain what i did wrong?

[18:48:34:347404 +01:00] [Thread 8108] extDB3: SQL: Error extDB3Exception: Config Invalid Number Number of Inputs Got 12 Expected 11
[18:48:34:347709 +01:00] [Thread 8108] extDB3: SQL: Error extDB3Exception: Input: createTerritory:76561198072389980:aasasda:22989.753906:7422.57373:-0.00728798:15:1:\A3\Data_F\Flags\flag_white_co.paa:0:["76561198072389980"]:["76561198072389980"]:
[18:50:13:602173 +01:00] [Thread 8108] extDB3: SQL: Error extDB3Exception: Config Invalid Number Number of Inputs Got 12 Expected 11
[18:50:13:602218 +01:00] [Thread 8108] extDB3: SQL: Error extDB3Exception: Input: createTerritory:76561198072389980:aaaa:22996.339844:7422.571289:0.00730324:15:1:\A3\Data_F\Flags\flag_us_co.paa:0:["76561198072389980"]:["76561198072389980"]:

extDB3 Failed to Load, Check Requirements

Hello! I get some message in cosole, after player click spawn button in lobby:

20:04:47 "---------------------------------------------------------------------"
20:04:47 "---------------------------------------------------------------------"
Call extension 'extDB3' could not be loaded
20:04:47 "extDB3 Failed to Load, Check Requirements @ https://bitbucket.org/torndeco/extdb3/wiki/Installation"
20:04:47 ""
20:04:47 "If you are running this on a client, Battleye will random block extensions. Try Disable Battleye"
20:04:47 "---------------------------------------------------------------------"

Ubuntu 20.04 (64 bit)

Starting server by /arma3server -name=server -config=server.cfg -servermod=@extDB3_Debug -mod=ws;

mariadb is corretly working. Admin user created, table created.

tbbmalloc.dll
and tbbmalloc64.dll in arma3 server root folder.
apt-get install libtbb2:i386 and apt-get install libtbb2 executed.

Mission: Domination Western Sahara (last version)

pls help :((

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.