Jump to content

torndeco

Member
  • Content Count

    312
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by torndeco

  1. New version uploaded at https://bitbucket.org/torndeco/extdb3/downloads Updated mariadb-c-connector Fixed: SQL_Custom: BEGUID Fixed: SQL_Custom: mysql_escape (only used for RAW SQL) Fixed: SQL_Custom: Multi-line Support i.e SQL1_1 SQL2_1 Improved: SQL_Custom Performance Outstanding Issue SQL_CUSTOM: Raw SQL Missing Support for Output Options (Input Options are working) ------------------------ No Linux Builds Yet, will look at starting work on it tomorrow if i get time. Only got a really slow laptop atm to test linux builds on. So its kinda a pain to test / compile on atm If you encounter a bug please sent a database snapshot so i quickly re-create the bug thanks.
  2. Already told you absolutely no point sending source code. BattlEye doesn't even look at the email attachments :) edit: Infact when i included the source code, they just randomly whitelisted an older version of an extension. And told me it was done ;) Been there, done that. Just get it the dll blocked by battleye, then send them an email with the filename for the dll. Thats all you need todo Try put in the title callextension / malloc developer, might get them to look at email faster *shrugs*
  3. Outstanding issues are Multiline support SQL1_1 SQL2_1 SQL3_1 etc Linux Builds Check calling Procedures works Been busy with other things lately, hopefully will get the first 2 issues listed done this week
  4. New version uploaded at https://bitbucket.org/torndeco/extdb3/downloads Updated mariadb-c-connector Fixed: 9:RESET bug Fixed: SQL_Custom: BEGUID Fixed: SQL_Custom: Return InsertID Fixed: SQL_Custom: When re-using an input value Outstanding Issue SQL_CUSTOM: Multiple SQL Statements support isn't implemented yet (oversight) i.e SQL1_1 Select ...... SQL2_1 Update ..... ------------------------ If you encounter a bug please sent a database snapshot so i quickly re-create the bug thanks.
  5. To get BattlEye whitelisted, just get it blocked once by BattlEye and then send an email with the filename to BattlEye to get it whitelisted. Don't bother to attach the files/source code etc.. Important: If BattlEye is doing maintance or the BE Servers overloaded etc, it will by default block the dll, even though its whitelisted. Its the same method as for getting an extensions whitelisted.
  6. https://forums.bistudio.com/topic/169723-extdb-arma3-extension-linuxwindows/?p=3014213 https://forums.bistudio.com/topic/169723-extdb-arma3-extension-linuxwindows/?p=3017270 There are plenty of people that have extDB2 forked on github or have the binaries i.e A3Wasteland Release Files / Exile Release Files and then all the github forks etc... Also it really is not much work to recode SQF from extDB2->extDB3. There is just a bit of work if you had SQL_CUSTOM_V2 before with custom inputs. ------------------------------------------------------ As for why a new extDB3 It had to be rewritten so i could change the license, plus it was something i been meaning todo for awhile. Improvements include Its faster / less memory allocations / leaner / better error checking for SQL_CUSTOM / better support for Datatypes. Actually now supports normal SQL, so you can call Procedures. Plus the ability to unlock & reset the extension, makes testing / reloading SQL_CUSTOM in the editor possible. ------------------------------------------------------ As for linux i need to setup a linux machine, setup a build enviroment & compile & test. Meant to start today but i got distracted with other stuff *shrugs*
  7. torndeco

    Quick Play (dev branch)

    Really weird choice of feature to add imo. I could think of much better stuff needing fixing that an ingame quick join imo Considering the player has to already decided which mods they want to use beforehand. So at that stage they have already decided on either to play a vanilla or a specific type of modded server. It would made more sense if arma supported dynamic changing the mods loaded. ----------------- As for game types, you could let the addon authors themselves be able to add different game types into the mod config.cpp (or what the new version is now). Then just adjust the mission description.ext & server query to be able to handle this feature. That way mods like Exile/Epoch/2017/BattleRoyale/Alive/Ace could make up their own game modes, without having to bug BIS to add a new game mode. Lastly the UI really needs work
  8. @donnovan If you are releasing as APL-SA go for it, you can repackage the unaltered extension in your addon. Just need to include the extDB3-License-FLOSS-Exception.txt aswell. Thanks
  9. Weird i thought i had it throw a warning in the log files about Long Text when using Prepared Statements. I actually re-created the database with Text Values :P But I double check whats going on there later tonight. Anyway text is really long enough for 99% of things arma related. Type | Maximum length -----------+------------------------------------- TINYTEXT | 255 (2 8−1) bytes TEXT | 65,535 (216−1) bytes = 64 KiB MEDIUMTEXT | 16,777,215 (224−1) bytes = 16 MiB LONGTEXT | 4,294,967,295 (232−1) bytes = 4 GiB Due to technical details i recommend to only use Medium Text / Long Text Fields with SQL & not Prepared Statements.... This is because the memory is pre-allocated beforehand with prepared statements. So if you have a query fetching multiple Medium Fields, they will take up 16MB in memory for each value for a split second. Which can become an issue This shouldn't be an issue with SQL Statements, or just use TEXT Values (which are big enough imo). ------------------------------------------------------------------- Anyway new version is pushed Improved Handling MySQL Error Output for SQL_CUSTOM, it wasn't outputing mysql error info in some scenarios. Fixed 9:LOCK:qwerty 9:UNLOCK:qwery https://bitbucket.org/torndeco/extdb3/downloads
  10. If you can in future, make a bug report @ https://bitbucket.org/torndeco/extdb3/issues?status=new&status=open Makes it easier to follow and ask follow up questions. Plus include the full log file from extDB3, not a snippet (its a pet hate of mine, everyone does it) This way i can see the version info & what calls you did to the extension beforehand. Can come in handy when trying to replicate a problem
  11. Ok new version 1.0.0.3 is up 9:RESET is now fixed 9:ADD_DATABASE now returns output for all scenarios Known Issues 9:UNLOCK will be fixed later today. Thanks for testing / finding the different bugs...
  12. @nesias Unlocking issues & Add Database will be fixed later today. Literally just compiled a new version afew minutes ago But i need more info for your other issue, to replicate it Replace @extDB3\extDB3.dll with the one from If you look in Optional\Debug Files\extDB3-debug.dll i.e you will need to rename file or change your code to "extDB2-debug" callExtension Then replicate your issue when trying to fetch results. That way i can see exactly how you are calling it Thanks.
  13. If you want in future try put bug reports @ https://bitbucket.org/torndeco/extdb3/issues?status=new&status=open But thanks for reports @donnovan That should be fixed now, new version up on https://bitbucket.org/torndeco/extdb3/downloads
  14. Recommend you use SQL_CUSTOM, its alot more powerful and safer. You can use either SQL or Prepared Statements, not to mention you can use mysql_escape for raw SQL. [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. [updatePlayerBackpack] Prepared Statement = true ;; If set to false, uses SQL instead of Prepared Statement ;; Return InsertID = false ;; Strip Chars = "" ;; Strip Chars Mode = 0 ;; Incase you want to override the Strip Chars from [Default] SQL1_1 = UPDATE players SET backpack = ? WHERE id = ? SQL1_INPUTS = 2,1 [updatePlayerBackpack2] ;;Example of Raw SQL Version Prepared Statement = false ;; If set to false, uses SQL instead of Prepared Statement ;; Return InsertID = false ;; Strip Chars = "" ;; Strip Chars Mode = 0 ;; Incase you want to override the Strip Chars from [Default] SQL1_1 = UPDATE players SET backpack = "$CUSTOM_2$" WHERE id = $CUSTOM_1$ SQL1_INPUTS = 2-mysql_escape,1-mysql_escape "extDB3" callExtension format["0:SQL_CUSTOM:updatePlayerBackpack:%1:%2",_id,_backpack]; // Sync "extDB3" callExtension format["1:SQL_CUSTOM:updatePlayerBackpack:%1:%2",_id,_backpack]; // Aysnc = faster
  15. @nesias Thanks those stupid bugs are fixed now, new version @ https://bitbucket.org/torndeco/extdb3/downloads
  16. @ozdeadment Thanks & Epoch use their own extension, not sure what KOFH is using :) @Everyone Anyway first test build for extDB3 is out if anyone wants to try/test it out. Windows builds only atm, i need to install & setup a linux build enviroment again. Recommend only for testing atm, atleast until the weekend. There might be some bugs (alot got change code wise), but it should be good. https://bitbucket.org/torndeco/extdb3/wiki/Home https://bitbucket.org/torndeco/extdb3/downloads
  17. No i have dropped Poco Library altogether, that way i could support MySQL fully including LongText / Procedures. But PostgreSQL does have a c/c++ connector and under a decent license, so it shouldn't take to much work to add it in. The problem is no-one would use it, everyone is more familiar with MySQL. If you are secreting working on an arma mod that will have public serverfiles & want to use PostgreSQL, then i could look at it adding it in. But otherwise its not worth the work imo, but you never know i might get bored at some point.
  18. Would appreciate if anyone has a populated Database backup they can share. Will help save me some time in testing, doesn't matter mission system etc.... Send via PM thanks If testing goes well, i will compile Linux & Windows versions & should be a new release tomorrow. Currently the extension on windows is around 1.1MB in size :) & updated WIKI is almost done Thanks
  19. I currently looking at doing rewriting a new MySQL/MariaDB Database Extension. Will also aim at making it back compatiable with SQL_CUSTOM_V2 files to ease switching over. Am expecting to have it ready in under a weeks time. Changes: Switching over to MariaDB C Driver from MySQL C Driver. Dropping SQLite Support, to my knowledge no-one was really using it at all. Dropping RCon & Steam Support initially, but plan to re-add at later stage. Improved performance by directly using the C Driver instead of library will avoid unnecessary memory allocations etc.. Support for all/most MySQL Datatypes & handle long text etc... Support for proper raw SQL Statements & Procedures etc... ----------------- License Changes: The extension will be packaged together as a serversided addon licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Note: This is the same license as ALIVE and lots of other addons... If a project really needs to they can ask me for permission to repackage the extension. As a rule of thumb, once your project is either one of Arma Public Licenses or an Open Source Initiative Approved License it should be fine. If i don't answer that doesn't mean you automatically have permission. Also Server Monetization once you follow BIS Rules is also fine.
  20. I am kinda fed up with Arma lately, not sure if i will bother to release anything publicly anymore. ------------------------------------------------------------------------------------------------------- Main Reason: I have asked a certain addon to not redist extDB2, because i don't believe in their interpretation of their license. Unfortunately i can only ask, kinda what happens when you make something opensource. But they are still gonna redist extDB2 files anyways. Other Reasons: Arma still hasn't implemented a string command that escapes quotations. Pseudo Code find and replace all " with "". Its a 10 minute job tops, arma is already using Boost Library ;) Arma still has a memory allocator for memory allocator, that you can't disable we are talking Inception level crap right here :ph34r: Arma went and added logging overhead for callExtension. They already had it coded & implemented when they asked for my feedback :huh: Was basically implemented for rpt logging of callExtension taking to long for badly coded extensions. Linux Servers Performance sucks so bad Imagine not having to pay for Windows OS License Fee for a dedicated server. Would help out the little people Hell i would help out if had access to the code for a week, but they don't give community access for obvious reasons. BIS don't compile a version of binary without JEMalloc statically linked. Would be nice to use PRE_LOAD to change the mallocs around. i.e using transparent huge pages ------------------------------------------------------------------------------------------------------- Unless i rewrite parts of extDB2 i.e switch over to MariaDB C Driver instead of MySQL C Driver and remove Rcon code That way i can change the license this is basically the end. ------------------------------------------------------------------------------------------------------- I am sure there will be other extensions people will make, hell they will prob be alot easier to use than extDB2. Especially with the new getUnitLoad commands etc that are in latest arma but still WIP Can a moderator please lock this thread thanks
  21. torndeco

    SQF feature requests

    It can happen in scheduled environment, its just rarer to happen. I had to add some waituntils to make sure the code worked correctly, was just abit slightly annoying. Especially when the sqf code didn't error out at all You can use an fsm to call a sqf function to accomplish the same thing without any network overhead. http://killzonekid.com/pub/call.fsm http://killzonekid.com/arma-scripting-tutorials-code-performance/ --------------- Unfortunately you can have multiple eventhandlers running concurrently at the same time. There is noway in Arma atm to implement a proper mutex atm, its basically using a atomic bool to function as a lock. Most of the time you will be ok, but eventually multiple code running at same time will get past the sqf lock. Exile Mod have ran into this issue quite abit..... It is kinda funny that with Arma SQF You can copy an array (but that makes a reference to the array, unless you deep copy the array). When in SQF do you need to reference an array ??? When ??? But a mutex is appparently to advanced to implement --------------- If you need a mutex use a simply callExtension that contains a map of bools to function as mutex lock. It will be pretty simply & run pretty fast aswell. The only issue is BattlEye will random block this extension if the backend goes down, so you can only really implement this on a server not on clients.
  22. You asked me how i knew if it was documented so i answered :) I already told you they changed the server query response, so it no longer follows SourceQuery rules 100%. I also mentioned you how you can try to bug Dwarden for more info via Skype/Discord. But he was already bugged this week or last week and there are no plans yet to document it yet. So we are stuck till whenever/if BIS decides to document the changes Unless you manage to reverse engineer the query response & figure out how the shorthash+steamID is encoded. anyway gl .
  23. Capture the response packets and attempt to reverse engineer it. You will see the workshop id & shorthash for each mod is in the server response (reverse checksums). The real issue is the the shorthash seems to vary in number of bytes. Its slightly confusing and i am not sure exactly what BIS is doing here. Realistic need to know this, so you can parse the server response correctly. This info was added so the arma3 launcher could link the server mods to steamworkshop id. Otherwise the launcher would be able to automatically download steamshop mods when joining a server. If you want to query BIS, you bestoff to ask Dwarden via Skype/Discord. But you won't get anymore info.
  24. Yeah i was doing some animations before & i encountered the same issue were the frames were outof order in ObjectBuilder. So i assumed i messed up, plus when i tweaked the animation the issue disappeared. Then i started to work on importing some animations into arma atm (multiple animations all contained in a 0-2400 frame range). I encountered the same issue afew times again but only with certain frame ranges, but i could replicate it 100%. So i went looking in the code to see what could effect the frame order. -------- Anyway i pointed out the code thats responsible for the issue and explained why i think its happening. Also gave a quick dirty fix, that disabled a line of a code that removes duplicate frames. Its easy enough to recode that line if its needed, but i dont believe its needed (am new @ animation etc). -------- The funny part the closest person i could find to report that issue is yourself @ https://forums.bistudio.com/topic/145290-arma-toolbox-for-blender-arma-23-exporter-script/?p=2713436 I wasn't able to use auto-timing feature in ObjectBuilder, because it messed up the RTMs on me.
  25. Very nice toolkit Ran into issue while exporting RTMs, were the order is sometimes messed up. Eventually i got tired trying to work around the bug & fixed the bug in RTMExporter.py Fixed it by commenting out the following line #keyframeList = list(set(keyframeList)) Its been awhile since i messed around with python, but i am assuming the issue is that sets are unordered map So even though you are sorting them beforehand, you aren't guarantee the order will still be the same afterwards. Worse case the code isn't removing any duplicate frames
×