Closed AirwavesMan closed 2 years ago
KFC Anti Hack
What is it?
https://epochmod.com/forum/topic/47272-epoch-antihack-admin-tools/
I will edit the name. KFC as name looks outdated.
Any way to remove all of these errors at server startup? It's possible some of my code may just not be up to date, if that's the case do you have any idea where I should be looking at to update the code?
Any way to remove all of these errors at server startup? It's possible some of my code may just not be up to date, if that's the case do you have any idea where I should be looking at to update the code?
Looks to me like you don't have the right version of the mod running? I downloaded the pre-release files (last thing AMan posted) and I'm not seeing these errors in my rpt startup. I would wipe your mod directory and make sure that you have the right files in there first.
No, it's the pre-release version, 100% sure. Maybe I have addons missing in the mission.sqm for some of the extra scripts I'm running, but I doubt that. Any other ideas? I am running Infistar and those errors do pop up right before infistar writes it's been started, but I think it was showing these errors even when I removed infistar.
edit: I have a new idea. I checked the database and it has the vehicles around the map that are showing errors. My guess is that maybe some of the vehicle classes changed and I'm still running a 1.0.6.2 database. Oops.
No, it's the pre-release version, 100% sure. Maybe I have addons missing in the mission.sqm for some of the extra scripts I'm running, but I doubt that. Any other ideas? I am running Infistar and those errors do pop up right before infistar writes it's been started, but I think it was showing these errors even when I removed infistar.
So I just did a createvehicle with one of those classes and also purchased from the trader and am not seeing any errors about missing properties, so my guess is you are missing something from your mission.sqm. I would go compare your mission.sqm addons sections to what's in the server files that were released and see if there's any missing mods. Those errors you have are when it's doing a createvehicle from what's in your database with the classes mentioned in the rpt. If you look in your database you probably have some objects with those classes, and when they get spawned in by server_monitor.sqf, the engine is throwing errors because it seems to think those classes are not defined properly in the mods.
It also may be a mod you're loading has them defined wrong and it's overriding epoch. Epoch should be the last mod in the list in your server executable launch -mod params, that way it always overrides anything defined in other mods you load at startup. So like, when I launch my Taviana server, my mod params look like this: "-mod=@Taviana;@DayZ_Epoch"
Look at those 2 things I mentioned and see if you can figure it out.
Also, don't use the old Overwatch mod, it's unnecessary now since almost every weapon from that mod was put into Epoch, and I think the old vehicles from it too. It never got updated over the years and is kind of broken due to updates to Arma.
I'm only using the Epoch mod on Chernarus. Checked the mission.sqm and it's using all the same addons (although I have some added that some of my AI missions' buildings use, again doubt that would be causing an issue). I still am not sure what might be causing it. I thought maybe some vehicle class names changed but that doesn't seem to be the case either.
Hello! An error popped up
String STR_EVAL_TYPENAN not found
what does this translation refer to?
Hello! An error popped up
String STR_EVAL_TYPENAN not found
what does this translation refer to?
It refers to an error (Error Type: Number IIRC), probably saying that a translation for it is unavailable. Although, the translation isnt the issue, it is usually followed by (or it follows) a script error
Hello, I have an error on a clean server with standard MPMissions. (DayZ Epoch 1.0.7 / Windows / Empty DB)
String STR_EVAL_TYPENAN not found
Error in expression <play displayCtrl 1209;
if (dayz_onBack != "") then {
_onBackCtrl ctrlSetText (d>
Error position: <!= "") then {
_onBackCtrl ctrlSetText (d>
Error !=: Type Bool, expected Number,String,Object,Side,Group,Text,Config entry,Display (dialog),Control,Team member,Task,Location
File z\addons\dayz_code\system\handleGearFunctions.sqf, line 284
and
String STR_EVAL_TYPENAN not found
Error in expression <equip_carry < 0) then {
if (dayz_onBack != "" && !_inVehicle && !_onLadder && !r>
Error position: <!= "" && !_inVehicle && !_onLadder && !r>
Error !=: Type Bool, expected Number,String,Object,Side,Group,Text,Config entry,Display (dialog),Control,Team member,Task,Location
File z\addons\dayz_code\compile\fn_selfActions.sqf, line 50
Error in expression <equip_carry < 0) then {
if (dayz_onBack != "" && !_inVehicle && !_onLadder && !r>
Error position: <!= "" && !_inVehicle && !_onLadder && !r>
Error Generic error in expression
File z\addons\dayz_code\compile\fn_selfActions.sqf, line 50
Help me please, friends!
Upload your full client and your server rpt somewhere and add a link to them.
Upload your full client and your server rpt somewhere and add a link to them.
https://dayzrun.ru/uploads/RPT_logs.zip server and client rpt logs
Please delete your client rpt and upload a new one after you have joined your server. I need the full rpt with the complete head.
You miss Arma 2 in your start parameters. Are you running the server with verifySignatures = 2;? It is also better to join discord and discuss it there instead of ping here everyone everytime.
Due to the size of some of the classnames I'm starting to see larger storage objects get the inventory cut off in the database due to the max amount of data you can send to an extension in arma. This causes the stored inventory to become invalid. I'm not talking about the field length in the database, but what is getting sent to hive exceeds the maximum length that can be sent to a dll in some cases.
I may have to just remove hive altogether and break up the inventory field into a smaller fields just to deal with the overflow. I'm seeing that the max amount of characters that is getting sent to the dll at 2048.
Due to the size of some of the classnames I'm starting to see larger storage objects get the inventory cut off in the database due to the max amount of data you can send to an extension in arma. This causes the stored inventory to become invalid. I'm not talking about the field length in the database, but what is getting sent to hive exceeds the maximum length that can be sent to a dll in some cases.
I may have to just remove hive altogether and break up the inventory field into a smaller fields just to deal with the overflow. I'm seeing that the max amount of characters that is getting sent to the dll at 2048.
There is no known limit to how much data can be sent in to the callExtension entry, only what can be returned from it (10240 bytes, 10kb).
The issue likely arises from how Epoch formats the Hive Parameters.
format
can only format a string up to 8KB in length, which results in ~2048 characters
formatText
does not have this limitation, hence why it is used in some places before a Hive Call.
Perhaps certain calls need to be re-evaluated to use formatText
Due to the size of some of the classnames I'm starting to see larger storage objects get the inventory cut off in the database due to the max amount of data you can send to an extension in arma. This causes the stored inventory to become invalid. I'm not talking about the field length in the database, but what is getting sent to hive exceeds the maximum length that can be sent to a dll in some cases. I may have to just remove hive altogether and break up the inventory field into a smaller fields just to deal with the overflow. I'm seeing that the max amount of characters that is getting sent to the dll at 2048.
There is no known limit to how much data can be sent in to the callExtension entry, only what can be returned from it (10240 bytes, 10kb).
The issue likely arises from how Epoch formats the Hive Parameters.
format
can only format a string up to 8KB in length, which results in ~2048 charactersformatText
does not have this limitation, hence why it is used in some places before a Hive Call.Perhaps certain calls need to be re-evaluated to use
formatText
The max you can send to an extension in arma 2 is 2048 characters https://community.bistudio.com/wiki/callExtension
Syntax: extension callExtension [function, arguments] Since Arma 3 v1.67 Parameters: extension: String - extension name function: String - extension function identifier arguments: Array - function arguments. Could be array of Anything, each element will be converted to String automatically. Current allowed max length of this array is 2048 (since Arma 3 v1.92; previous limit: 1024)
No, there is no specification for how many characters can be sent. The 2048 Argument Limit is only in Arma 3 for the Alt Syntax usage where the parameter is an array I have sent over 2048 characters over callExtension before, I do it regularly
It gives you the limit right in the link I posted.
And 2048 is the exact limit I am running into in the inventory in the db. Arma 3 may work fine, arma 2 isn't.
"Currently there is no limit how much data you can send to the extension." "There is currently a limit on how many arguments can be sent and it is 2048 (since Arma 3 v1.92; previous limit: 1024). " "Current allowed max length of this array is 2048 (since Arma 3 v1.92; previous limit: 1024)"
The issue probably is here: https://github.com/EpochModTeam/DayZ-Epoch/blob/master/SQF/dayz_server/compile/updateObject_functions.sqf#L46-L48
2048 is the limit because format
will only return a string with the max size of 8KB, which is 2048 characters.
So when format
is used to format a large inventory in to a callExtension string parameter, it will cut said parameter length at 2048
I can assure you, you are not running in to a callExtension Limit.
Ok, I'll try fixing it tomorrow in the code and see what happens, if it works, then that'll be an easier fix than what I was considering doing, and won't be a big deal for server owners to update for.
formatText
is used in quite a few places for sync and publish specifically to avoid this, but it seems object inventory sync was missed out. There might be others
@AirwavesMan
There is absolutely no problem with this since we use str or formatText. Ive tested it again with the storage shed 2 and the sea fox boat with 200, 2000, 40 gear slots and Ive added only every single item once. So we had 200 different weapons over 1500 different magazines and 40 different packs. There was no problem with the sync and after restart everything was still in there. A problem is the limit of the length of lines in the rpt and I think thats the problem you acutally have.
@ndavalos There is a DB sync bug with ZSC on and when the storage items had no coins set. In this case the coins getting set to -1 to prevent the coin overriding from the hive and the DB stops the sync of the building or vehicle. Could that be your problem? Ive just added a fix for this.
4x Wood floors that have been destroyed say "Remove Metal Floors" when removing the rubble.
4x Wood floors that have been destroyed say "Remove Metal Floors" when removing the rubble.
Fixed with https://github.com/EpochModTeam/DayZ-Epoch/commit/2e415136f5200c6490543d45d03540a8e517f2b7
@AirwavesMan First time trying to submit a change to github (I need to get with the times...) but if I did it right I posted a fix to fn_selfActions.sqf. In case I didn't do it right: the issue I see happening is if Player A unlocks 2 safes which he/she does not own, or a friend (player B) unlocks their own safe, Player A doesn't get the option to reenter the combo to get access to lock it.
I removed the first (_typeOfCursorTarget in DZE_LockedStorage) in the unlock vault section since there is another if statement inside the main if statement which checks for that. This is why players never get the option to re-enter the combo
@AirwavesMan First time trying to submit a change to github (I need to get with the times...) but if I did it right I posted a fix to fn_selfActions.sqf. In case I didn't do it right: the issue I see happening is if Player A unlocks 2 safes which he/she does not own, or a friend (player B) unlocks their own safe, Player A doesn't get the option to reenter the combo to get access to lock it.
I removed the first (_typeOfCursorTarget in DZE_LockedStorage) in the unlock vault section since there is another if statement inside the main if statement which checks for that. This is why players never get the option to re-enter the combo
Fixed with https://github.com/EpochModTeam/DayZ-Epoch/commit/831ad4b006a700eece130dac128f88bd026bcfdf
Hi @AirwavesMan , this is my first time posting here, so I hope this is the right place for this suggested code change, and other general observations made of Epoch 1.0.7, each with suggested fixes. See the zip file below for sample screenshots and a full description.
We enabled the Modular Object Refund feature only to find it needed work to become usable. But we have a fully working solution that you might be interested in.
1) Refunds were often placed out of reach of the player, especially when it came to floors. 2) The long-standing issue of the cursorTarget selecting the wrong object needed to be addressed. 3) The original refund logic exposed the need for an additional player action, and a redefining of terms. 4) In designing a solution, it was necessary to modify several game files, including new tables.
1) Moves the refunded parts close to the player, regardless of the object's original position. 2) Highlights the selected object, giving the player the option of cancelling before the action completes. 3) Provides "Remove" and "Deconstruct" actions, giving the player a choice of convenient outcomes. 4) Delivers full installation notes and an in-depth analysis of the design rationale, including observed engine limitations.
Thank you for reading.
@Victor-the-Cleaner Very nice addon, thank you. Im checking it at the moment. Ill drop you a message on discord.
Edit: Your discord link is expired so please join the epoch discord and drop me a meaage.
How to report Epoch 1.0.7 bugs and problems:
Write your problem as exact as possible and please provide more information as only one sentence. Before your report a bug, please check if this bug got already reported at the end of this post under *Known Bugs**.
1. What mods do you have installed and on what map do you play?
2. What scripts do you have installed?
This is very important because there can be relations betwenn different scripts.
3. Which Anti Hack do you have installed?
4. What is the name of your server host?
Certain Gameserver Hoster will not work very well with a custom epoch. If you have a dedicated server you should be good.
5. Check your launch parameters from your server and your client.?6. Provide Logs from 5.?
Known Bugs: