Jump to content

torndeco

Member
  • Content Count

    312
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by torndeco

  1. @RimBlock DB_CUSTOM_V2 is in the stable branch. Just checked its been in stable branch since v15 (29 days ago) I need to go over the wiki and update it, including adding instructions for static extDB linux installs etc... ---------------------------- Anyway your best bet is to use DB_CUSTOM_V2. extDB currently can't retrieve results from Procedures, it can only call them to run something. This isn't an easy fix atm. Note: You can just call a Procedure via a normal SQL Statement using DB_CUSTOM_V2 / DB_RAW_V2 etc... DB_PROCEDURE_V2 is just some legacy code, keeping around for whenever Poco Library 1.5 is more stable
  2. @RimBlock Grab an Sqlitebrowser or similar app and just take a look @ the included SQLite Database file... But to be honest, i would just forget about DB_BASIC_V2. Don't think anyone uses it since no-one ever reported any bugs for it (been a-few). You should just use DB_CUSTOM_V2, it gives you freedom of running any SQL Queries (you define them in an .ini file), while still maintaining some sense of security.
  3. I could be wrong but i don't think there is any native Headless client for Linux yet. There is a new Headless Client in the works, here is hoping its not to far away from getting done. Currently have headless client setup via wine... I am still working on scripts etc for headless client, but it appears to be good. Battleye etc is working Using Tightvncserver (for opengl on headless server, just easier imo). Wine (I use POL static wine builds, that way i don't need to worry about wine system updates breaking something for Arma). Don't forget to edit HC profile battleyeLicense=1; (that had me confused for abit, was no warning in console about it)
  4. Version 17 Just afew minor changes / fixes.. Main thing of note is linux static builds :bounce3: ADDED: Linux Static Build of extDB @ https://github.com/Torndeco/extdb/tree/stable/release/linux FIXED: Compress MySQL Option FIXED: DB_CUSTOM_V2 template fix exists check FIXED: extDB exception error on arma3server shutdown on linux UPDATED: Windows Builds using Boost 1.56 + latest Intel tbb43_20140724oss_win MISC: Logging Code Changed back to Boost Log (done for Linux Static builds) MISC: Added Thread ID to logs info, makes it easier to debug log information involving multiple threads working at once. MISC: Misc Fixes for DB_BASIC Windows Users: Windows Builds, are built using newer 1.56 Boost & Intel TBB. Please copy over the latest tbb / tbb_malloc dlls as they have changed. Debian Users need newer Boost Libraries if they are compiling from source. Otherwise just use the static builds.
  5. Update: Linux Static Build of extDB @ https://github.com/Torndeco/extdb/tree/dev/_linux_release Requirements You just need to install libtbb2:i386 Debian / Ubuntu apt-get install libtbb2:i386 Note for Debian Users If you are compiling extDB, you will need to update your Boost Library. This is because there was an issue with static linking + Poco Logging Library. If this is to much hassle just grab the static build. Differences between static / normal Static is just easier to install for people new to linux + no need to compile / chroot environment. Normal version is optimized for your cpu, this may make very difference. Since most of work is done via libraries.
  6. Right small update.... Got me a static build of extDB working :bounce3: Means no more needing a chroot enviroment or compiling extDB for linux users. You can still compile from source etc if u want, allows you to optimize for cpu arch. Just got some minor issues with logging code to get sorted first. Just got afew small things todo after way & should have it uploaded later today
  7. @.kju Persistence is nice, it means u can play for 30mins come back later + continue on. Otherwise you would be like do i bother to play for only 30mins, and start fresh again later... Also means public players tend to stick to server + build up a regular player-base... for those not in a gaming community / clan. DayZ i like the potential it had, like DayZ Standalone when it first came out (haven't bother to play in over 6 months) loot was very rare... It added to the aspect of having to scavenge for loot, not wasting ammo etc... Just development is to slow + lack of ability to mod it in anyway :( Wasteland on Zargabad (was a-few servers with it for arma2 at some point) was fun for random fighting with friends.... Like the CQC fighting, no running around getting sniped by someone sitting near top of a hill. KOFH is just the above except Sa-Mantra has done a great job, especially with UI work. Also don't like Wasteland static missions seems like repetitive / boring. Had a simple mission for Epoch Server back in the day, randomize location / loot / randomized groups of AI's different range from mission aswell. Plus had a heli that would S+D between mission sites aswell. Just to keep players on there toes.. Not sure if i will bother with missions, need to see how it works out Plus thinking about add a HC for civilian AI in the warzone, and players get punished for killing civilians... Makes players not shoot everything that moves.... i.e is that truck driving a road (friendly / hostile / nuetral). Its still early days though... Or maybe i just change the backstory to a gang war in a city *shrugs* But starting to look like i need to make my own ASM for linux so i can measure performance. @Everyone else Fixed rcon app, was using hardcoded filename value. Anyway will just be a small update this weekend. Planned Changes are - Logging different directories for different server instances - Logging ability to have different log-names i.e so u could have <timestamp>.log and another one named hacker<timestamp>.log + debug<timestamp>.log - Adding new filter option for DB_CUSTOM_V2 where u define different chars to strip out of inputs / outputs i.e "{}" Don't worry none of chances will break anyone sqf code, will just be optional extras
  8. Just my 2 cents am biased since i wrote extDB ;) You could change the code over in a less than 30mins imo, if u know some SQF + SQL.... Most of the hard-work is done already for you i.e Wasteland already has logic in it for saving info. Check out the new DB_CUSTOM_V2 Protocol ---------------- ---------------- @Sommers extDB maintains a constant connection to Database (MySQL, SQLite, ODBC). If your server gets busy it will increase amount of the number of active Database threads. If Database threads become inactive for a certain time-limit (configurable), it will close inactive database connections when server gets quiet.. You can config the minimal amount of Database threads to keep active. lower/higher limits. extDB is designed to hand off all Async requests ASAP to a worker queue, this way we avoid blocking call as much as possible... extDB is able to run multiple queries in multiple Database at same time etc (strictly not counting SQLite, but thats due to how SQLite is designed) Multiple Servers using the same MySQL Database will make no difference what so ever. You could have 200 servers query the same MySQL server it wouldn't effect Arma2SQL / DayZ Hives / extDB.... it would only directly effect MySQL Server itself. ---------------- ---------------- Overheads in extDB... There is some (minor) overhead in the way i abstracted the different Protocols. few extra lookups / text manipulation Honestly the only real overhead you will notice is the fact u need at-least 2 queries to get results from extDB, but that is due to extDB workaround for callExtension limits on size of returned result. Also its relatively simple to write some C++ for a custom Protocol, if you really wanted to. ---------------- ---------------- As for performance, AtlisLifeRPG is doing fine with extDB + they crippled extDB. AtlisLifeRPG code only runs 1 SQL query at a time (to keep things simple).
  9. @shay_gman Yeah the servers can use the same Database i.e using MySQL to store infomation.... The Database Servers can be remote ones aswell. Also if you don't have a static ip u can put in a normal address (FQDN) into the IP settings for extdb-conf.ini to connect to. Recommend u use MySQL and not SQLite, since SQLite locks the file when updating etc.... Might become a perf issue if several servers updating the same SQLite DB often.
  10. Don't forget linux is case sensitive. I had issue were it would crash seg-fault what seemed like randomly if i used @A3MP. To solve my problem i had to change all the files to lowercase...... no more crashes / seg-fault
  11. @ .kju My original plans were to rewrite server code for 2017 / epoch to use extDB. So i could run the server on linux without wine, i was assuming they would prob use an extension that was windows only..... I kinda like the persistent gameplay they bring... ------------------------------ ------------------------------ As for my own project(s) I have barely started to code my own mission, a version of Wasteland / KOFH coded from scratch. Love to add civilian AI to the warzone, less max players (see if server can handle it, but i am prob dreaming here). Would need to code a linux version of ASM & a GUI App for it, to see how code effects performance etc :( All i got done atm for the mission (its not much) Loadout / Preview of Character & spawning(/respawning) in a AI heli overhead are done. Map markers & triggers for capturing areas... But its hard to get motivation to-do the rest of code atm Main thing that puts me off is doing the UI work / finding Images in a Open License i can use.... ------------------------------ ------------------------------ I know its not an original idea.... but i really need a something to put on a server. At the very least it will allow me to test some new rcon code for win / linux servers... If you are thinking of some new project, give me a shout btw congrats on http://forums.bistudio.com/showthread.php?182072-All-in-Arma-Terrain-Pack-%28AiA-TP%29-A1-A2-OA-terrains-from-BI-in-A3 To late for me to mess with it tonight but gonna check it out tomorrow :bounce3:
  12. Version 16 Just some small fixes... FIXED: DB_CUSTOM_V2 issue when input had (sub-)string as $INPUT_x in it. FIXED: MISC Protocol returning false instead of 0 MISC: Just some minor code cleanup.. FIXED: Updated CMake Build on github.... was missing db_custom_v2.cpp (only effected people building from source) Unless there is some bug-fixes, i will prob take a break for a small bit.... Note: if u have any issues with DB_CUSTOM_V2, please report them. You can downgrade to V16 until i get issue fixed. DB_CUSTOM_V2 Code was pretty much rewritten. Also all Queries relating to Atlis Life RPG please ask @ http://www.altisliferpg.com/ thanks
  13. Version 15 Lot of various small / big things i be working on... Been meaning todo update for abit ADDED: MISC -> BEGUID, now u can get players BEGUID from their SteamID ADDED: Deprecated Warnings in Log Files for V1 Protocols (be like a month or more before i remove them). ADDED: DB_Custom_V2 Protocol allows u to define SQL commands to run in a foo.ini file. Basicly gives u freedom of Raw SQL commands without the added security risk, also option to use sanitize code or not. https://github.com/Torndeco/extdb/blob/stable/windows_release/15%20Debug%20Logging/extDB/db_custom/example.ini UPDATED: Log Class you can now define the ID for the log entries (minor change really) UPDATED: Sanitize Code now changed back to original code, exact same as DayZ Hive, less strict. UPDATED: Rcon Test APP, is now a useable Rcon Chat Console App. Main use is for linux users for automated warnings. (Windows Users are got BEC / EPM Rcon) Windows Test Rcon app packaged for testing purposes atm. UPDATED: CMake Changes New Warnings for detection of 64bit libraries (thx firefly2442), mainly for linux users that try to compile 64bit version. FIXED: DB_Procedure now working IMPORTANT Procedures Support == limited, doesn't support Outputs anymore (with Poco 1.4) Was never working :( edit: Poco 1.5 has Procedure Support for Outputs, but it was unstable i.e wouldn't compile extension on linux & caused crashes on Windows. Will revisit at later data, DB_CUSTOM should be nearly as good if not easier to implement
  14. Working on V15 atm.... Still some things i like to get done... In the meantime there is a test build up atm @ https://github.com/Torndeco/extdb/tree/dev/windows_release/15%20Dev Changes are so far DB_PROCEDURE fixes (was broken for multiple inputs etc)... If someone could test it that be great :) DB_CUSTOM_V2 https://github.com/Torndeco/extdb/wiki/Calls:-Protocol--DB_CUSTOM_V2 It allows you to define the SQL Statements in a config file & number of inputs & if u like to run inputs / outputs through a sanitize code. So that way u can freedom for SQL commands without exposing raw sql statements. For example [ADD_PLAYER] SQL_1 = INSERT into Players VALUES ($INPUT_1, $INPUT_2, SQL_2 = $INPUT_3, $INPUT_4); Number of INputs = 4 [DEAD_PLAYER] SQL_1 = UPDATE Players SET Alive = 0 WHERE UID = $INPUT_1; Number of Inputs = 1 [GET_ALL_VEHICLE] SQL_1 = SELECT * FROM VEHICLES;
  15. I kinda, screwed up the logic in return values opps :butbut: Basicly i had return values of [0, "Error Message] ["Result"] Instead of [0, "Error Message] [1, "Result"] So i don't break anyone's code... Added New Protocols (with correct output) DB_RAW_V2 DB_BASIC_V2 etc... I will add deprecated warnings to the logfiles on the weekend etc. Also will leave the old Protocols in the extension for roughly the next month, before i remove them... Its only a small change really sqf wise i.e adding a (select 1) for existing code. Will update the wiki etc tomorrow... ----------- Version 14 New Protocols V2 Changing Filesystem + Logging code -> Poco Library (smaller dll, should compile on debian now) Log Filter Option changed -> Log Level look @ example file... (won't break anything will use default value if not set).
  16. @Nils Just use ubuntu 64bit (or centos 7), you are just shutting yourself in the foot with 32bit version. When it comes to ram available for server to use. Read guide @ http://otoris.com/installing-an-arma-iii-server-on-ubuntu/
  17. Version 13 CMake Build System Updates + Fixes ADDED: MySQL compress config option ADDED: WIP Rcon Code (only used in rcon test app atm) UPDATED: DB_BASIC now contains Other 1 + Other 2 + Other 3 Fields UPDATED: DB_BASIC now has logging output FIXED: SQlite DB Locked concurrent access Thanks to firefly2442 who been helping out & doing most of work with CMake Build System... CMake now builds all versions of extension + various test applications Linux Users Linux now uses CMake Build System. New experimental rcon (based off Bercon) test program, to build set COMPILE_TEST_RCON=TRUE ./extDB-rcon 2302 password "SAY -1 Restart 5 minutes" & Note the & Atm the program has a timeout value roughly 30 seconds after sending command... Its still wip, but should work for now for restart warnings
  18. Just a heads up there is an issue with multi threading & sqlite for extDB... THIS ISSUE DOESN'T EFFECT MYSQL Temp workaround Edit extdb-conf.ini Change Threads = 1 In database section maxSessions = 1 You will also need to avoid SYNC calls to database... just use ASYNC calls with above settings. Basicly we are avoiding any scenario with multi-threaded calls to sqlite. ---------------- ---------------- Currently working on a solution edit: Fixed in V13
  19. Sstarting to get back into coding for extDB Just noticed i had no documentation for MISC Class on it, so wiki got updated abit https://github.com/Torndeco/extDB/wiki Version 12 New Log Class, so u can output text to extDB logfiles. (note this isn't to replace diag_log, diag_log will be faster) All Extensions now have basic startup + error logging Debug Log Extension has ability to log DB queries (filter=0), performance hit Fixed DB_BASIC get all commands Added minor Error Handling Logic checks when adding Protocols i.e database connected + compatible Important Sqlite Databases are now moved (located) in the extDB/ directory Most people seem to use MySQL so it shouldn't effect much people hopefully. This is for next feature as i will use an sqlite database by deafult to cache Steam Querys for VAC Bans, and to help keep arma3 root directory neater. edit: Updated Linux Makefile Linux Version now uses Intel TBB Malloc
  20. @IHUNTERI sh is to run a bash compatiable script... i.e sh ./start.sh ( http://pastebin.com/DnqKPsR7, just a basic example. i just use server to test with atm ) arma3server is an executable
  21. VERSION 11 Randomized Unique ID starting Number (not used in testapp to make testing easier) Also reduced the range of used ids to 65536, more than enough, was 1-> max integer :P Added DB_RAW_NO_EXTRA_QUOTES, doesn't add "" to varchar etc Using CMake Build System for Windows Binarys
  22. Arma3Server for linuxl comes with Battleye i know from it kicking me there yesterday ;) Just make sure your have your battleye filters setup for whatever mission or mod u are using. Besides that u could look for any sqf code to help catch hackers that compatable for your mission / mod The only issue with most anti-hacks would be they come with a dll, most of the time they just create a log file. Just go through the code + change those lines over to diag_log or make up an .so to replace the dll with. If u can't find one, u will just have to readup on making battleye filters, and writing sqf code.
  23. @ Kingwolf Its actually a kinda a bug for Poco Library (1.4) Basicly MySQL is reporting Text Fields as Blob Data Type :/ There is a small fix for it in Poco 1.5, i could rob and patch in fairly easy. Like 4 lines of code. But that means anyone compiling the code would need to patch Poco 1.4 i.e linux users If they forgot it wouldn't be obvious whats gone wrong. ----------------- Now i think about it its kinda convenient for saving Arrays to Database etc... What i will do over the weekend is add DB_RAW_NO_EXTRA_QUOTES which won't add the extra quotations to var data types. That way u have a choice of using either DB_RAW or DB_RAW_NO_EXTRA_QUOTES. Plus it won't break anyone's existing code @Everyone Else Small bit of a rocky week for extDB over crashing etc... All solved now, just don't use large datatypes like Long Text in your database please. New Version 10 is running smooth :cool: Planned Changes are Finish CMake Build System ADD new Random Seed Number for Unique ID (its currently in test-build dev-branch, note its in the extension only) Combine with Randomized 9:ADD: DB_RAW:<insert random generated text / number>, will make things harder. Steam Queries i.e getFriends List
  24. Update New Test Build under dev-broken branch @ https://github.com/Torndeco/extdb/tree/dev-broken/windows_release Changes DB_PROCEDURE Added info @ https://github.com/Torndeco/extdb/wiki/Calls:-DB_PROCEDURE DB_RAW trace log now includes results from database queries Arma2 Support - new config option to randomize config-file name. edit:- Hotfix Version 9 Disabled Intel TBB till if fix memory leak using it. Issue caused by threads de-allocating each other allocated memory Feedback on DB_Procedure appreciated... don't mess around with Databases to much
  25. Sorry for confusion Procedures work with Poco 1.4. Its just not mentioned the documentation directly, just 1.5 had some fancy c++ code to go along with it. Short Version there will be a test build tomorrow with Procedure Support. In the meantime, u can call Procedures using RAW SQL, not ideal i know.
×