Dayz-Epoch-Linux-Server icon indicating copy to clipboard operation
Dayz-Epoch-Linux-Server copied to clipboard

Cache and AX-Bug

Open jayr0flmc opened this issue 10 years ago • 7 comments

My Problem is, that i have the ArmA X Anniversary. After many try&error, i have found the problem, why my survivor will not right loaded.

The writer.pl reads out the UID, writes them to the database (Player_DATA->PlayerUID and Character_DATA->PlayerUID) and creating new cache-file. The problem is, that the writer.pl reads out the UID as integer, but string is needed. In the dayz_server-scripts, the readout of the UID works right and the server tries to load the UID as string with AX at the end. Because of the problem with creating, the script CANT find the right file and creates all the time a new survivor.

My perl is not the best, but i try to fix it. Hope for help

jayr0flmc avatar Mar 29 '14 10:03 jayr0flmc

228-230 in writer.pl is the problem. There will be cutted out the AX at the end.

jayr0flmc avatar Mar 29 '14 11:03 jayr0flmc

Same as https://github.com/denisio/Dayz-Epoch-Linux-Server/issues/4

dazKind avatar Mar 29 '14 19:03 dazKind

My perl is kinda of rusty, but... here goes my "hack" :P

line #228

    if ($uid =~ m/(\d+[a-zA-Z]{0,2}$)/) {    #regex match group of digits, followed by up to two characters
        $uid = $1;
    } 

leodr99 avatar Mar 30 '14 02:03 leodr99

I think, it's better to cut out the '(id=' at start and ').' at the end. After them, u will get the whole id with full length and all signs.

I think a double-substr-function can fix this complete out.

The only problem is, that my regex and perl are very bad.

On this way, i have another idea. The core of the HiveExt.dll from awol is opensource. How possible is it, to recode it for linux? There are all AX-Bugs complete fixed.

jayr0flmc avatar Mar 30 '14 08:03 jayr0flmc

Cheers bud,

It already discards the "(id=...)" part. What dionisio did is after isolating (splitting) the player name from the string and keeping it in the $name variable. He uses the Perl "match" function with a regex condition for the remainder. m/(\d+)/ - which tells to match only a group of digits together and assign that to $uid. My "code" is to also include not only a group of digits, but also up to 2 characters after the group of digits.

My 2cents... On Mar 30, 2014 9:48 AM, "jayr0flmc" [email protected] wrote:

I think, it's better to cut out the '(id=' at start and ').' at the end. After them, u will get the whole id with full length and all signs.

I think a double-substr-function can fix this complete out.

The only problem is, that my regex and perl are very bad.

On this way, i have another idea. The core of the HiveExt.dll from awol is opensource. How possible is it, to recode it for linux? There are all AX-Bugs complete fixed.

Reply to this email directly or view it on GitHubhttps://github.com/denisio/Dayz-Epoch-Linux-Server/issues/15#issuecomment-39020695 .

leodr99 avatar Mar 30 '14 14:03 leodr99

Why isnt this fix added to the git files? is the fix outdate?

kwek20 avatar Feb 21 '15 16:02 kwek20

This shouldn't matter anymore due to the Steam Updates as all player UID's are numbers now

deannreid avatar Feb 21 '15 23:02 deannreid