Jump to content

torndeco

Member
  • Content Count

    312
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by torndeco


  1. 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


     


  2. Afew more things i noticed, some buildings / objects that heights are wrong.
    The apartments opposite the Hospital in Cherno, are slightly under the ground.

    The tallest Industrial Building Cherno the sign on the roof, is located on the ground level, instead of on the roof.
    Think i saw another smaller sign with similar thing aswell, can't remember were :/

    Was wondering any rough ETA when you plan on a new release with the sounds included.

    Thanks


  3. 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


  4. ;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.


  5. If the server does not have verifySignatures set to 2 (most public servers do though), then he can connect. If a brittle crawler spawns, he'll get an error message and won't see it (but he might hear it or even get damaged by it).

     

    AFAIK, you don't need to update keys if you update the mod, you just need to re-sign the pbo which Ryan does. If the server has the new bisign file and someone joins with the old one, and verifySignatures is set to 2, he should be kicked off.

     

    Kind regards,

    Sanchez

    Yes Arma really should work like this, but unfortunately it doesn't.

    The bisign is just to check for if the files is tampered with. 

    Infact the entire serverkey is located in the bisign files

     

    If Ryan Zombies is using the same server key to sign with for each release, then players can join a server using any mod version that is signed with the same server key.

    The best practice is just to make up a batch file that generates a new key each time your pbo up your files.

    You also add a version info the mod config.cpp & write code to end mission running an older version.

    But this is prone to mistakes i.e forgetting to update to config.cpp


  6. I've found one major bug. No matter what my graphics settings are on, as soon as i enter Calamar, my game crashes. There's something in Calamar that freezes my game and forces me to close. I've had it happen on a few servers, thus causing me to be stuck there for ever until either a server wipe entirely, or sometimes it will never get wiped. Not sure what's in that town, but it runs great otherwise. FPS is top notch. I could have my view distance on full, objects on full. I'll look at Calamar and be fine, in the distance. When i get closer around the airfield, my game freezes. Please, if you can fix this, the port will be perfect.

    AIATP, you need to install the hotfix for AIATP


  7. 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

  8. Encountered similiar issue with my friends PC.

    Was able to load A3Lingor on my PC, but not with friends. 
    Same issue with locking up on Calamar Airfield

    Edit:
    If the AIATP hotfix doesn't work (not 100% sure i had the hotfix on my friends machine installed :P)
    But in the end i got it working by using CUPS Terrains Latest RC Build.  <------

     

    Confirmed the issue with unable to load in Calamar Airfield is due to not having AIATP HotFix Installed.
    Cups Terrain works aswell


  9. If the usernames are never fetched from the database, don't bother to strip them of quotations it will be fine.

    It only effects it when you try to call compile it.

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

    Infact there is an option  i.e 1-String_Escape_Quotes
    That will escape the quotes from a playername, if you ever do fetch the playername from the database.
    Completely forgot i added that in.


  10. @mre
    You don't need to convert the arrays at all, just send them as is.
     

    str(_array);
    or
    format["%1", _array];

    When fn_async is fetching the result it is call compiling it, so it will get converted back to an array for you.

     

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

    The only thing you need to worry about is if you are saving PlayerNames, PlayerInput

     

    If a player name is: Player"Name

    The str command won't escape quotations for you.
    You can either do sqf code to turn:  Player"Name -> Player""Name
    Or you could strip out all quotations or use toArray toString to convert the playername.
    But that makes it harder to read database for playernames though.


    ----

    But there really is no nice way todo this.
    BIS really need to make a newer str command that escapes quotations properly :(


  11. Just had a quick glance of your code
    Always nice to see someone else using extDB2 :)

    Small pointer, will help improve server performance
     

    mresArray.sqf
    mresString.sqf
    mresToArray.sqf

    These are functions life servers used to make raw SQL Statements safe, to prevent injection attacks.

    You only need to worry about this when using SQL_RAW.

    SQL_CUSTOM_V2 is using Prepared Statements, so you don't need to worry about this.

    Note: If you use CUSTOM_INPUTS just use the strip options to make it safe from injection attacks.


  12. Most likely your windows 7 machine doesn't have root certificate for StartCom installed, it should be in Windows 8 & later.
    I don't have access to a windows 7 machine to see how to install the cert, so i am afraid thats going to up to someone else to figure out.

    The reason i am signing dlls is that BattlEye Whitelisting is buggy and annoying to submit dlls to get whitelisted.
    Also there is no way for me to submit dlls to get whitelisted now lol :)

×