Jump to content

torndeco

Member
  • Content Count

    312
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by torndeco


  1. Most projects seem to be fairly off the ground atm, in-regards to general SQF Scripting.

    As far as projects using extDB, there might be one or two in the works.

    But they are still far off from completion.

    So far i just been messing around with Blender slowing getting used to the UI.

    But that's gonna to take awhile to get any good a modeling assuming if i have any talent at it.

    I think my best bet is just go inactive till Arma 2017 release.

    ----------

    I might wrap up Redis support since its 90% of the way done atm *shrugs*

    Key-Value Storage does have its advantages when it comes to easier for scripters to implement without having to know SQL.


  2. Got to love the map / model makers aren't allowed to make money of thier hardwork.

    But server hosters are allowed to generate money ???

    Can map makers add in advertisments to thier content now as a source of revenue ?

    I mean Server Admins can plaster advertisement in.

    Atm its in addon makers best interests are not to release server keys for their content.

    That way they can restrict server files to GSPs

    Setup up a-few public servers + bunch of private servers (requiring payment to access).

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

    Also last i looked Arma3 has more empty Servers than it needs, granted alot of them are Life / Wasteland Missions

    Do we really need these new rules to fund more empty servers.

    Alot of 3rd Party Content is getting Non-Commerical Clauses in their license.

    Not even Arma Licenses for Content Makers to use

    https://www.bistudio.com/community/licenses

    Not one has a allowance for Commerical Usage

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

    Also you examples are weird i.e buying a Red Apache Heli

    Do you mean people will be allowed micro transactions to buy Weapons / Vehicles, or just the ability to choose a different colour.

    Because these are 2 different things with drastically different effects on Gameplay.


  3. Just a heads up but

    extDB may be going in hibernation for the foreseeable future...

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

    It appears Tonic's Altis Life RPG is pulled down and may not be coming back read info @

    http://www.altisliferpg.com/page/index.html

    A3Wasteland Agent Rev is focusing on college, plus A3Wasteland is using an older version of extDB (packaged)

    http://forums.a3wasteland.com/index.php?topic=1131.0

    Which means there will no longer be a public supported mission or mod currently using extDB.

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

    On top of that Linux Servers aren't getting a Physics Library Update till Debian 8 is released.

    Quite frankly Linux Servers get very little attention, and they are getting hobbled over waiting on Debian 8 release = very annoying.

    Not to dismiss the work of Arma Linux Dev's, love the fact Headless Client got Linux Support + callExtension support for Arma3.

    But this latest decision is a joke imo.

    Especially when Linux admins, could easily do LD_LIBRARY_PATH their GLIBC as a workaround. (Linux admins done it before due to an issue)

    Run armaserver in a chroot environment or just install another Distro.

    We aren't talking a Windows OS License, most / all Linux Distros are free.

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

    Note i am still hopeful for Arma 2017 public release, they have some v.interesting ideas / concepts.

    But regardless atm there is no reason for me to keep working on extDB features without any active feedback.

    Who knows maybe i come up with an idea for a mp mission / addon *shrugs*


  4. Version 34

    Bunch of Fixes + RCon + VAC Query Code should be good to use on a public server :yay:

    VAC Bans aren't yet fully automatic i.e you need to ask extension to check the playerUID

    Some basic examples are

    9:START_RCON:RCON // Starts RCon using [RCON] settings from extdb-conf.ini
    9:START_VAC // Starts VAC   (dedicated worker thread for Steam/Vac queries
    
    9:ADD:VAC:vac
    1:vac:VACBanned:<playerUID>:<playerUID2>:<playerUID3>   

    etc....

    If will autoban players via RCon if detected + enabled via extdb-conf.ini.

    Note you can also use

    2:vac:VACBanned:<playerUID>:<playerUID2>:<playerUID3>   

    To get back results from the query if interested...

    9:START_RCON:RCON
    9:ADD:RCON:rcon
    1:rcon:SAY -1 This is working omg
    

    Changes

    • ADDED: Version Output to Test Application @ startup
    • FIXED: Logic for auto creating Worker Threads was broken in v33.
    • FIXED: RCon now works correctly in Windows + Linux
    • FIXED: VAC Protocol Now works correctly. Returns empty Bans / FriendList if Steam Server doesn't answer in time.
    • FIXED: VAC Protocol 1: Now works correctly, instead of reporting back SYNC NOT SUPPORTED
    • FIXED: Unique ID Leakage, only happens in certain scenario (bad sqf code/ logic)
    • FIXED: MISC Error Message
    • FIXED: MISC Random String + Uninitialized variable thanks Marius Huse Jacobsen
    • UPDATED: DB_RAW_V3 now adds strings to DATE + TIME Datatypes
    • UPDATED: Backported some minor fixes for Poco Library
    • UPDATED: Windows Builds now built with VS2013 Community Edition (was previously Express Edition)

    Downloads

    https://github.com/Torndeco/extdb/releases

    Also thanks to Marius Huse Jacobsen for taking time to compile extDB + point out some mistakes i had etc..


  5. Version 33

    Afew new features added to extDB, some are abit incomplete though atm.

    extDB can now connect to different Databases at the same time.

    via

    9:DATABASE_EXTRA
    9:ADD_EXTRA

    New RCon code should be good, it just needs live testing on Server.

    Yes that means you can use RCon Commands if you add the RCON Protocol.

    I will add the ability so you can lock down the Protocol down more in the next release i.e limit the RCon Commands you can send.

    Steam VAC Queries shouldn't be used on live server, steam doesn't always respond, or in a timely manner.

    I cant stress this enough, VAC Protocol isn't ready for a live server yet.

    Basically i just need to code to timeout for http gets when Steam decides to not respond / take forever (will be fixed in the next release)

    Think of it as a tech preview, were you can go and test out some code etc (when it behaves itself).

    Changes

    • ADDED: DATABASE_EXTRA + ADD_EXTRA System Calls Used for connecting to Different Databases
    • ADDED: VAC Protocol Steam Ban / Friend Queries (Note: Known Issue with Steam not always responding to HTTP Requests, need to add code to timeout)
    • ADDED: RCon Protocol (Will add ability to disable/enable certain RCon Commands in next version)
    • UPDATED: New MISC_V2 Protocol Changed the return Output to match other Protocols i.e [1,<Result>] instead of <Result>
    • FIXED: LOG Protocol Error Handling wont crash server, will report error if there is an issue i.e file permissions etc
      FIXED: DB_CUSTOM_V5 Removed Leftover Mutex Lock (Improved Performance)

    Known Issues

    If Steam fails to respond to VAC Query it doesn't timeout.

    Prevent any more VAC Queries from been run...

    This will be fixed in the next version, recommend you only use VAC Protocol to test out some development code + not on a live server.

    Downloads

    https://github.com/Torndeco/extdb/releases


  6. extDB is dumb it doesn't do anything with the values unless you tell it to...

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

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

    So for instance

    SQL1_INPUTS = 1-STRING, 2, 3-CHECK-STRING, 4-STRING, 5-STRING 

    Its an INPUT Option

    You told it to strip "" from the M + then wrap quotes around the result i.e "M"

    This way when you fetch the value later on from the Database it will compile as a string.

    Otherwise you would just get M and arma won't be able to compile it, since it doesn't know its a string.

    The other Method is OUTPUT Option

    OUTPUT = 1-STRING, 2, 3-CHECK-STRING, 4-STRING, 5-STRING

    It will strip "" from the M + then wrap quotes around it i.e "M"

    Since its fetching value before it modifies it, this way the Database doesn't store the quotes for the value.

    Have a look @ example_V5.ini in the latest Releases

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

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

    Basicly extDB does not auto-detect values in Database.

    Since you could add Arrays / Bool / Numbers / ObjNull to a Text / VarFields Field etc

    So you either need to tell it to add quotes when inserting the Data (INPUT Option)

    or when you are retrieving the data (OUTPUT Option).

    Note:

    The String Datatype Check only checks the Database Column Datatype, not what is stored inside it.

    Its there for legacy reasons

    More info in example_V5.ini

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

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

    There is no combined Statement (unlike DB_CUSTOM_V3 / DB_RAW_V3)

    DB_CUSTOM_V5, uses Prepared Statements (which it caches per Database Session Internally for performance)

    http://en.wikipedia.org/wiki/Prepared_statement

    So for instance,

    Insert character_base (PlayerUID, MapID, CharacterName, CharacterSex, Model, Last_Updated) values (?,?,?,?,?, now());

    That is your Prepared Statement that is sent to SQL Server, as is, no values are inserted etc.

    It is sent to SQL Server were it is compiled (which extDB then caches).

    Your values are then sent completely separate to the SQL Server.

    This prevents any SQL Injection Attacks (since Database knows only values are sent, no SQL Code)

    Yes there is a small performance penalty for the first time a Query is run.

    But it is faster for then on, since the Prepared Statement is already compiled.

    extDB just sends it the new values from then on.

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

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

    Sidenote:

    String + Sanitize check are overkill together.

    String Option alone should be enough to stop players from escaping their PlayerName to get it arma to run some code.

    That is why String Option removes " before it wraps the value, i.e "<value>"

    Plus Sanitize Check will basicly greenlight every string under the sun.


  7. Update: It now seems to be sending back [""] rather than "" so the full return is [1,[1,[[""]]]] rather than the expected Data read: [1,[1,[""]]] ."

    Nope that is normal behaviour and has been since v3 of extDB.

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

    extDB will return your results as if they are multi row results in an array.

    Easier to code in SQF this way

    So for example extDB result is

    [1,[<row1>, <row2>]]
    [1,[[<column1>,<column2>,<column3>], [<column1>,<column2>,<column3>]]]

    That is why fn_async has

    https://github.com/Torndeco/extdb/blob/stable/sqf/fn_async.sqf#L69-L71

    To select the first element from array if multarray bool is false

    I may add that feature in later @ some point were you can define in db_custom that its only getting a single row back or a single column result.

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

    More than likely you are using an old version of fn_async that doesn't check for error messages from Protocol

    https://github.com/Torndeco/extdb/blob/stable/sqf/fn_async.sqf#L63-L66

    That way it would have return 0 (since its first element from [0,<error message>]),

    even though it encountered an error from MySQL Query.


  8. Exactly the results are just stored in a unordered_map until you fetch them.

    The message itself is either [1,<result>] or [0,<error message]

    It allows me abstract the different Protocols in extDB + be more flexible etc...

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

    You are on a roll finding bugs, normally on Skype if you run into a bug...

    Will be pushing out new version in abit, fixes for DB_CUSTOM_V5

    INPUT Option String (forgot to string " from the string) +

    INPUT Option CHECK (was returning wrong value i.e false when true , true when false etc)

    ---------- Post added at 15:30 ---------- Previous post was at 14:42 ----------

    Version 32

    Just a minor bug fix release...

    For people using DB_CUSTOM_V5

    Also added some exception handling error messages when Database is connected to the first time aswell.

    Changes

    • ADDED: Better exception handling for when adding Database
    • FIXED: DB_CUSTOM_V5 Input String Option wasn't stripping ""
    • FIXED: DB_CUSTOM_V5 Input Sanitize Checks (was reversed results)
    • FIXED: Improved DB_CUSTOM_V5 Error Messages

    Downloads

    https://github.com/Torndeco/extdb/releases


  9. There is no way for Data Feed to end with an error...

    There are only few different scenarios when fetching Results 4/5

    [3] is Wait

    [5] is when you send 4:<Unique ID> and message is to big to fit in a single return

    Empty String to indicated END OF STREAM, no message

    There is no scenario where extDB will return an error here, if there is no string its either end of message or you have the wrong Unique ID.

    The only errors are Error Messages etc from the Protocol itself.

    Changing it to say "END OF STREAM", would have zero effect + is really just a breaking change to extDB at this late stage.

    Plus checking if string is empty should be faster in arma.

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

    Logging code has changed like 4 times by now...

    The previous options for logging really didn't due much to be honest.

    But v31 has the ability to change logging output to buffered writes (this is for LOGGING Protocol + RCon Logging only)


  10. @RimBlock

    Its most likely due to a change in Poco Library Code, [0] is abit odd though.

    Anyway its kinda fixed in v31 :P

    For extDB the correct behaviour is receiving a "" for a NULL Value from the Database.

    Should be good enough, or you could look at using Count or Filtering out NULL Row from your SQL Statement etc...

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

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

    Version 31

    Main changes are extDB2 is now extDB the old extDB builds are dropped.

    Turns out extDB2 was compatible with extDB, i was wrong about a Poco Library change oopps :)

    A bug fix for Windows Users, extension now cleanly shutdowns

    It now waits for outstanding SQL Statements to finish before shutting down.

    Changes: version 31

    • FIXED: Shutdowns of extension
    • FIXED: NULL Values once again return ""

    Changes: version 30

    • ADDED: Option for ASync Logging i.e buffered log syncs to harddrive
    • FIXED: MISC Log will now log to extDB logs if no filename given (old behaviour)
    • FIXED: MISC Random String + Random Unique String, was returning 1 for first value by mistake.
    • REMOVED: old extDB builds, extDB2 builds renamed to extDB
    • ENABLED: RCon code, atm it just creates Battleye Logs. Needs testing on Live Server
    • FIXED: Fixes to RCon Code
    • UPDATED: extdb-conf.ini + db_custom examples

    Note:

    There is RCon code that needs testing if someone wants to try it out.

    If you do please not it hasnt be tested on a live server yet.

    So its worth making sure server restarts correctly with it enabled etc...

    Downloads

    https://github.com/Torndeco/extdb/releases/tag/v31


  11. https://github.com/Torndeco/SQF-Indenter

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

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

    Requirements Python 3.4

    Its just a simple script that indents SQF Code..

    cd <path to sqf files>

    C:\Python34\Python.exe <path to sqf-indenter>/sqfIndentor.py

    The script will parse all *.sqf in current directory + create new files with -new added to the filename.

    It still needs a small bit of work, but its pretty good.

    Really i just needs to recode it so easier for people alter the rules for indentation.

    As side bonus it is pretty decent at de-obfuscating SQF Code aswell.


  12. Version 29

    Main things are fixes for DB_CUSTOM_V5 + INPUT OPTIONS

    extDB2 now works on Linux

    Some extra error handling + just some minor code improvements.

    • CHANGED: 9:ADD Protocol, now checks if Protocol Name already exists
    • ADDED: DB_CUSTOM_V5 Prepared Statement Cache = true/false
    • FIXED: DB_CUSTOM_V5 INPUT Option Logic
    • FIXED: Added Exception Handling for Logging Initialization
    • FIXED: Cleaner Shutdown for Database Connectors
    • FIXED: Added Exception Handling for DB_CUSTOM_V3/5 + NotImplemented when fetching results
    • FIXED: Sanitize Test App Input Limit
    • FIXED : extDB2 Linux Builds

    Version 28 Changes

    • ADDED: Support for MySQL Secure Auth, default = false
    • CHANGED: Disabled Rcon Code

    Note:

    Support for extDB will prob get dropped soon, as its a pain to maintain this many builds.

    Plus planned new features are all nearly require Poco 1.6 which is extDB2 only.


  13. Below is a copy/paste from chat i asked a-few people on Skype...

    Decided i just put it up here aswell...

    Odd Question...

    You dont have RCon Details u be willing to share on an Active Server

    Its not a big deal if you rather not give out details i completely understand

    Just asking around atm, just helps me test out app on a live server (less work for me :) )

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

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

    All i am doing is small tests of Rcon code to connect to a Server.

    It maintaining connection + reconnecting when it drops

    Getting Player List + keeping track of Player Connects / Disconnects.

    Its for new upcoming features for extDB, reserved slots + for added security Steam VAC Queries

    (prevent hacker spawming Steam Queries for Players that arent on the server).

    Steam queries are also going to cached for X amount of time

    Please note:

    If you do decide to send details PM them i only need a day or 2 + you could change the password afterwards.

    I fully understand its an odd Request and also understand if no-one sends me details.

    Just asking, since it will help me test out RCon Code faster

    Lastly, it does really need to active Server, with Players joining + disconnecting etc....

    Server that is low pop count i can pull off myself in testing.

    Anyway thanks for reading the wall of text


  14. Version 26

    I think Version 25 was a hotfix version or i just bumped the version number twice by mistake.

    Important extDB2 is not compatiable with extDB if you are using String Auto Detect or DB_RAW_V2.

    So extDB2 will not work outof the box for Altis Life RPG.

    RCon / VAC features pushed back to next release version.

    Please note the OS Requirement bumps, i will revist after the New Year.

    Changes

    • UPDATED: LOG PROTOCOL,
      9:ADD:LOG:LOG:custom.log
      1:LOG:BANLOG:OMG IT WORKS
    • UPDATED: DB_CUSTOM_V5: added Option AltisLifeRPG_Array
      It uses the same method as Altis Life RPG for converting Arrays.
      Added specifically for anyone moving from (Altis Life RPG) extDB DB_RAW_V2 -> extDB2 DB_CUSTOM_V5.
    • FIXED: DB_CUSTOM_V3 db_custom directory location is now based off extension location i.e @extDB/db_custom
    • FIXED: DB_CUSTOM_V3 Exception Handling now behaves as intended.
    • CHANGED: Log Format changed slightly + removed some log options from extdb-conf.ini
    • CHANGED: 9: DATABASE:<foo> will Return [1] or [0, <ERROR MSG>] if Database Connection Fails, instead of killing Server.
      Will allow mission makers to make it more clear whats gone wrong.

    extDB2 Changes

    • Now Detects Text DataType in MySQL as Text
      This will effect the likes of Altis Life RPG or other missions using String DataType Check or DB_RAW_V2
    • Full Procedure Support i.e returning results from Procedures
    • Date Time Support
    • Long Text DataType for MySQL Support without crashing

    Notes

    Yes there is Rcon config settings there + yes it does something, but please leave it disabled for now.

    Otherwise at best you waste CPU having extension connected to Server via RCon, worst it crashes Server :rolleyes:

    I may push a new release tomorrow with some functional RCon, Steam VAC Code.

    Just this release was dragging on abit

    Requirements

    Linux

    Linux Distro with Glibc 2.17 or higher.

    Debian 8 / Centos 7 / Ubuntu 14.10

    Windows

    Windows Server 2008 + Later

    Windows 7 + Later

    vcredist_x86.exe

    After New Year i will look into lowering requirements for both OS, but no promises.

    edit again:

    IMPORTANT Changes for DB_CUSTOM_V5

    Forgot to bump version number for DB_CUSTOM_V5 + changes to Bad Chars, now Strip Chars.

    Check out the updated example.ini on github or

    https://github.com/Torndeco/extdb/wiki/Calls:-Protocol--DB_CUSTOM_V5

    Strip Chars Options can now be overridden per call, or be enabled / disabled for specfic values aswell.


  15. @RimBlock

    Its just DB_CUSTOM_V3 error handling logic that is messed up, the rest are fine.

    If you like just grab the test build where it is fixed.

    DB_CUSTOM_V5 uses Prepared SQL Statement http://en.wikipedia.org/wiki/Prepared_statement

    After the first run it is cached per Database Session.

    If extDB encounters an error the cached Prepared SQL Statement is removed from cache + it returns error to arma.

    I am planning on adding support to define using Procedures / Prepared SQL Statement / RAW SQL Statement (similiar to DB_CUSTOM_V3) at a later stage to DB_CUSTOM_V5.


  16. @RimBlock

    Yeah someone just came across that bug like around 2 days ago...

    Theres is a hotfix build for Windows @ https://github.com/Torndeco/extdb/tree/dev/release/windows/test

    Got another issue i need to reproduce and fix atm :(

    @Yourry

    Sorry about late reply had to get my local code into a compiling state.

    Your really should grab skype ( i hate it myself, but arma community uses it sigh) be able to help out faster.

    You just mixed up DB_CUSTOM_V3 + DB_CUSTOM_V5 config files.

    Example of DB_CUSTOM_V5

    https://github.com/Torndeco/extdb/blob/stable/release/windows/25%20Test/extDB/db_custom/example.ini#L219-L225

    Example of DB_CUSTOM_V3

    https://github.com/Torndeco/extdb/blob/21/release/windows/21/extDB/db_custom/example-a3wasteland.ini

    So if you change your config to

    [playerInfoWriteOnDB]
    SQL1_1 = INSERT INTO players_save (playeriud, name) VALUES (?, ?);
    SQL1_INPUTS = 1, 2-STRING
    Number of Inputs = 2  

    Basicly V5 = Prepared Statements, plus they are cached per Session. So there is really only some overhead first time they are ran.


  17. @Yourry

    There are afew different methods of using extDB to access Database...

    Kinda allows me to add changes without breaking stuff as much.

    DB_CUSTOM_V5..

    No mission available as an example, but its similar method as DB_CUSTOM_V3.

    Just the implementation + db_conf.ini thats is different.

    Advantages its the safest method, since it uses Prepared Statements + will be more feature rich.

    Recommended method atm

    DB_CUSTOM_V3..

    You could look @ A3wasteland, https://github.com/A3Wasteland

    But Agent Rev is using DB_CUSTOM_V3 + doing something that was never intended. So its slightly different than intended method of use.

    Or you could look @ https://github.com/Torndeco/A3Wasteland_Framework (i kinda gave up on this rewrite)

    DB_RAW

    https://github.com/TAWTonic/Altis-Life

    Altis Life RPG uses DB_RAW_V2, downside is all the making SQL Safe against injection is done via SQF Code.

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

    I am normally on Skype.

    Torndeco is nick, you can find me in the Script Makers / Dedicated Server / Linux Server / Tool Makers Channel

    Send me a PM, and can answer any questions you got or help you out where you are stuck on


  18. Upcoming Changes for Version 25

    There will be 2 Different Builds for extDB2, swear i want to give me a headache....

    extDB: Old Stable Builds

    extDB2: New Unstable Builds

    extDB2 will be built using Poco Library 1.5/1.6, (finally got around to debugging a deadlocking issue).

    Reason for renaming extension is Poco 1.5/1.6 has fixed detecting MySQL Text Datatypes as Text.

    This will break any mission / mod that is using Auto String Detect on extDB i.e like Altis Life RPG etc...

    Benefits of updating to Poco 1.5/1.6

    • MySQL support for Large Text Datatypes (without it allocating 4gb straight away and causing a segfault)
    • MySQL support for Date/Time
    • Proper Procedure Support
    • MongoDB + JSON Support (Might not make it into v25)

    Will also add VAC Bans Checking, returning results + logging support (be in both versions)

    Note: RCon Support may not make it into v25, if it does will be expermential

    extDB will still get some bug fixes + new features were possible backported in the near term.


  19. Version 24

    This is mostly a bug fix release and just some new minor features.

    RCon features pushed back to next release version.

    • ADDED: 9:LOCK_STATUS returns [1] if Locked or [0] if Unlocked
    • ADDED: MISC:RANDOM_STRING + MISC:RANDOM_UNIQUE_STRING returns array of randomize strings.
      MISC:RANDOM_STRING:<Number of Strings>:<Length of Strings>
      MISC:RANDOM_UNIQUE_STRING :<Number of Strings>:<Length of Strings>
    • FIXED: DB_CUSTOM_V5 Output Option is now working correctly.
    • FIXED: extdb-conf.ini (& /extDB in same directory) file can now be located in custom path i.e @extDB, instead of Arma3 Root Directory


  20. Version 23

    Finally got another release done, just a week late.

    Main Changes are the following

    New Protocol DB_CUSTOM_V5, uses cached Prepared Statements + Options for INPUTS + OPTION :cool:

    extdb-conf.ini + extDB/ directory can now be located in same directory as extension, fallback location is Arma3 Directory

    For example now you can have

    @extDB/extdb-conf.ini
    @extDB/extDB
    @extDB2/extdb-conf.ini
    @extDB2/extDB

    Other Changes

    Updated Poco Library to 1.4.7p1 + custom changes.

    Just some minor fixes, and Poco Library now has optimization turned on for Windows Builds

    Custom changes are in github, basicly done to allow caching of Prepared Statements per DB Session. (used for DB_CUSTOM_V5)

    Known Issues

    Test Applications require tbb + tbbmalloc + extdb-conf.ini + extDB/ in the same directory as executable.

    Note there was a Version 22 Test Build, but was on github.

    I just never got around to testing it.

    https://github.com/Torndeco/extdb/tree/stable/release/windows

    https://github.com/Torndeco/extdb/tree/stable/release/linux


  21. Right i am gonna get some needed sleep

    Will upload custom Poco Library Code Changes + compile new extDB Windows + Linux versions later today.

    Just a week late :j:

    DB_CUSTOM_V5 uses prepared statements, required some changes to Poco Statements + SessionPool so i could cache the Statements per Session.

    Sample of new format of config file

    [insertAntihackLog]
    SQL1_1 = INSERT INTO AntihackLog (Time, ServerID, uid, guid, name, hackType, hackValue)
    SQL1_2 =        VALUES (NOW(), ?, ?, ?, ?, ?, ?);
    
    Number of Inputs = 5
    
    SQL1_INPUTS = 1, 2, 2-BEGUID, 3-STRING, 4-STRING, 5-STRING

    More examples of INPUTS / OUTPUTS

    SQL1_INPUTS = 1, 2, 2-BEGUID, 3-STRING, 4-STRING, 5-STRING
    SQL2_INPUTS = 2-STRING-NOCHECK, 1-BEGUID-STRING
    
    OUTPUTS = x-NOCHECK, x-CHECK, x-BEGUID, x-STRING, x, x-STRING-CHECK

    Yes you can combine different options or override sanitize checks per value if needed...

    I will look @ doing the same for strip options later on.

    Will still support DB_CUSTOM_V3 for atleast another month, so there is no rush to update.

    But its recommended

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

    Other news

    Upcoming Poco 1.6 is still bugged for Linux Versions so no updating for that atm :(

    Believe its related to https://github.com/pocoproject/poco/issues/479

    But i haven't had time or been able to debug the problem yet.

    Will finally add configureable VAC Banning (using RCON Commands) support to extDB.

    Should be done by next week 90% done already for months now.

×