Cloud22

[Done] ExtDb3 Compatibility with Exile

835 posts in this topic

ok, thank you!! :) i will check everything again.

perhaps it might be, because we are trying it with the RC version?

and is the old @ExileServer folder needed anymore or can we delete it?

 

Share this post


Link to post
Share on other sites
Advertisement

ok. but its not in the extdb3-conf.ini. i tried a "exile" database aswell... i will redue exile_server completely and perhaps try exile vanilla...

Share this post


Link to post
Share on other sites
Quote


[20:19:58:312586 +01:00] [Thread 2964] extDB3: Config Error: exile: No such node (exile.IP)

 

 

Edited by yesyesjo

Share this post


Link to post
Share on other sites

Your exile.ini doesn't have  (remember case sensitive)
 

[exile]
IP = 127.0.0.1
Port = 3306
Username = root
Password =  password
Database = exile

Remember extDB2/3 is not just made for exile i.e altisliferpg / a3wasteland use it aswell.
Its even possible to connect to multiple databases at once etc..

  • Like 1

Share this post


Link to post
Share on other sites

moin!

sorry, its not working. i tried it the blank before the "password" aswell and i updatet infistar to the latest version. i dont know, guess its the RC version... :(

and that is really sad, because i hoped to get rid of our database problem with extdb3, which we have since RC 1.68:

it often happens, that a player suddenly is missing the last "]]" in the player/hitpoints database entry:

[["face_hub",0.0393701],["neck",0.0393701],["head",0.0393701],["pelvis",0.0393701],["spine1",0.0393701],["spine2",0.0393701],["spine3",0.0393701],["body",0.0393701],["arms",0.0393701],["hands",0.0393701],["legs",0.0393701],["body",0.19685

and we cannot script a temp fix, because the array is broken. we tried when player logs in and when he disconnects:

  • if ((count _playerData) == 0)
  • if (isNil "_playerData")
  • if (typeName _playerData != "ARRAY")

i will go on trying... :)

---

edit: no, its not working without RC either... i guess, we are just to stupid, to set the extdb3-conf.ini  right... ahhhhhh.... :(

---

edit (5 min later):  wtf, i got it...  puuh... cant tell why. i am 1000% sure, i tried that 50times before... lol

13:18:08 "ExileServer - Connected to database!"
13:18:08 "ExileServer - Database protocol initialized!"

 

Edited by yesyesjo

Share this post


Link to post
Share on other sites
5 hours ago, yesyesjo said:

moin!

sorry, its not working. i tried it the blank before the "password" aswell and i updatet infistar to the latest version. i dont know, guess its the RC version... :(

and that is really sad, because i hoped to get rid of our database problem with extdb3, which we have since RC 1.68:

it often happens, that a player suddenly is missing the last "]]" in the player/hitpoints database entry:

[["face_hub",0.0393701],["neck",0.0393701],["head",0.0393701],["pelvis",0.0393701],["spine1",0.0393701],["spine2",0.0393701],["spine3",0.0393701],["body",0.0393701],["arms",0.0393701],["hands",0.0393701],["legs",0.0393701],["body",0.19685

and we cannot script a temp fix, because the array is broken. we tried when player logs in and when he disconnects:

  • if ((count _playerData) == 0)
  • if (isNil "_playerData")
  • if (typeName _playerData != "ARRAY")

i will go on trying... :)

---

edit: no, its not working without RC either... i guess, we are just to stupid, to set the extdb3-conf.ini  right... ahhhhhh.... :(

---

edit (5 min later):  wtf, i got it...  puuh... cant tell why. i am 1000% sure, i tried that 50times before... lol

13:18:08 "ExileServer - Connected to database!"
13:18:08 "ExileServer - Database protocol initialized!"

 

would honestly still seem like the config of your extdb3 not being right. But, nice to hear you got it working.

  • Like 1

Share this post


Link to post
Share on other sites
41 minutes ago, Cloud22 said:

would honestly still seem like the config of your extdb3 not being right. But, nice to hear you got it working.

yea, thx! :)

but now the real problems start. some we could fix ourselves, but these:

Error in expression <riable ["ExileTerritoryMaintenanceDue", _maintenancePeriodDueDate select 1, true>
15:18:36   Error position: <_maintenancePeriodDueDate select 1, true>
15:18:36   Error Undefined variable in expression: _maintenanceperiodduedate
15:18:36 File exile_server\overrides_xdb3\ExileServer_system_territory_maintenance_recalculateDueDate.sqf, line 18
  
  
"ExileServer - Loading vehicles from database..."
15:18:38 Error in expression <50 + (random 500),
(_position select 1) - 250 + (random 500),
1000 + (random 100>
15:18:38   Error position: <- 250 + (random 500),
1000 + (random 100>
15:18:38   Error Generic error in expression
15:18:38 File mpmissions\CDAH_Exile.xCam_Taunus\CDAH_crafting\logic\CDAH_ExileServer_object_vehicle_carefulCreateVehicle.sqf, line 21

 

extdb log:

[15:18:31:894795 +01:00] [Thread 3868] extDB3: Locked
[15:18:36:483535 +01:00] [Thread 904] extDB3: SQL: Error MariaDBStatementException1: Deadlock found when trying to get lock; try restarting transaction
[15:18:36:483554 +01:00] [Thread 904] extDB3: SQL: Error MariaDBStatementException1: Input: setAbandonedUnlocked:2
[15:18:36:502125 +01:00] [Thread 3356] extDB3: SQL: Error MariaDBStatementException1: Deadlock found when trying to get lock; try restarting transaction
[15:18:36:502149 +01:00] [Thread 3356] extDB3: SQL: Error MariaDBStatementException1: Input: deleteBaseFlagStolen:10

 

exile.ini

; Marks territories (and all containers/constructions) that were not paid within ? days as deleted
[markDeleteUnpaidTerritories]
SQL1_1 = UPDATE territory SET deleted_at = NOW() WHERE last_paid_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND deleted_at IS NULL
SQL2_1 = UPDATE construction SET deleted_at = (select deleted_at from territory where territory.id=construction.territory_id and territory.deleted_at IS NOT NULL)
SQL3_1 = UPDATE container SET deleted_at = (select deleted_at from territory where territory.id=container.territory_id and territory.deleted_at IS NOT NULL)
SQL1_INPUTS = 1

;CDAH Zusatz
[markDeleteBaseFlagStolen]
SQL1_1 = UPDATE territory SET deleted_at = NOW() WHERE flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND deleted_at IS NULL
SQL2_1 = UPDATE construction SET deleted_at = (select deleted_at from territory where territory.id=construction.territory_id and territory.deleted_at IS NOT NULL)
SQL3_1 = UPDATE container SET deleted_at = (select deleted_at from territory where territory.id=container.territory_id and territory.deleted_at IS NOT NULL)
SQL1_INPUTS = 1

;Unlock doors and mark safes as abandoned if flag stolen for X days
[setAbandonedUnlocked]
SQL1_1 = UPDATE container SET abandoned = NOW(), pin_code = '0000' WHERE (SELECT flag_stolen_at FROM territory WHERE territory.id=container.territory_id AND territory.flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY));
SQL2_1 = UPDATE construction SET pin_code = '0000' WHERE (SELECT flag_stolen_at FROM territory WHERE territory.id = construction.territory_id AND territory.flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY)) AND pin_code != '000000'

SQL1_INPUTS = 1
SQL2_INPUTS = 1

some ideas? we are using the realtime script...

Edited by yesyesjo

Share this post


Link to post
Share on other sites

If you are missing ]] in hitpoints.

That implies the string is getting cut off.
Format string cutting the string after 1024 characters (unlikely).
Database scheme datatype for the field entry is to small i.e varChar (possible)


Or there is an issue with arma3 rc build (it has happened before).

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

If i were you i would use the debug dll and wipe the bugged database.
Then when it happens again, you can check the logs to see if arma sends a bad hitpoint string to be saved in the database.
Or if the database column datatype is to short i.e varChar and it is getting cut off when it gets saved to the database.

For your other issue debug dll can help see what is going wrong aswell in general.
Been able to see what the extension was told todo + what it returned helps alot.
Plus its alot easier than adding a bunch of debug code to exile.

 

  • Like 3

Share this post


Link to post
Share on other sites

and thx again, guys. i am working with the debug now.

we are using the realtime script:

but there is a problem now and i read sth about changes with the TIME in extdb3. apparently this is not working:

_realtime = (call compile ("extDB3" callExtension format["9:TIME:%1", getNumber(configFile >> "CfgSettings" >> "RCON" >> "realtimeOffset")])) select 1;
	_realtimeHours = _realtime select 3;
	_realtimeMinutes = _realtime select 4;
	_realtimeSinceMidnight = (_realtimeHours * 60) + _realtimeMinutes;
	

this is the extdb + rpt log:

[18:54:36:836301 +01:00] [Thread 4016] extDB3: Input from Server: 9:TIME:1
[18:54:36:836338 +01:00] [Thread 4016] extDB3: Error Invalid Format: 9:TIME:1
[18:54:36:836343 +01:00] [Thread 4016] extDB3: Output to Server: [0,"Error Invalid Format"]


18:54:36 Error in expression <)) select 1;
_realtimeHours = _realtime select 3;
_realtimeMinutes = _realtime s>
18:54:36   Error position: <select 3;
_realtimeMinutes = _realtime s>
18:54:36   Error Generic error in expression
18:54:36 File exile_server\overrides_xdb3\ExileServer_system_rcon_thread_check.sqf, line 22

help me, obiwan...

:)

 

 

Edited by yesyesjo

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.