mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
Revert the last two commits
This reverts commitsb5f3f30and3e0ddef. Discussed with oiad on discord: - BIS_fnc_areEqual is much slower than short string comparisons - String in array form is three times longer, which means more data sent over the network This way keeps authKey as a string and still avoids pvval kicks.
This commit is contained in:
@@ -217,10 +217,10 @@ _playerObj setVariable ["lastPos",getPosATL _playerObj];
|
||||
|
||||
_clientID = owner _playerObj;
|
||||
_randomKey = [];
|
||||
_randomInput = toArray "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$^*";
|
||||
for "_i" from 0 to 12 do {
|
||||
_randomKey set [count _randomKey, (_randomInput call BIS_fnc_selectRandom)];
|
||||
_randomKey set [_i, (ceil(random 128)) + 256]; //Latin Extended-A characters not filtered in publicvariableval.txt
|
||||
};
|
||||
_randomKey = toString _randomKey;
|
||||
_findIndex = dayz_serverPUIDArray find _playerID;
|
||||
if (_findIndex > -1) then {
|
||||
dayz_serverClientKeys set [_findIndex, [_clientID,_randomKey]];
|
||||
|
||||
@@ -188,11 +188,11 @@ _object_killed = {
|
||||
|
||||
_exitReason = switch true do {
|
||||
//Can't use owner because player may already be dead, can't use distance because player may be far from vehicle wreck
|
||||
case ([_clientKey,dayz_serverKey] call BIS_fnc_areEqual): {""};
|
||||
case (_clientKey == dayz_serverKey): {""};
|
||||
case (_index < 0): {
|
||||
format["Server_UpdateObject error: PUID NOT FOUND ON SERVER. PV ARRAY: %1",_this]
|
||||
};
|
||||
case !([((dayz_serverClientKeys select _index) select 1),_clientKey] call BIS_fnc_areEqual): {
|
||||
case ((dayz_serverClientKeys select _index) select 1 != _clientKey): {
|
||||
format["Server_UpdateObject error: CLIENT AUTH KEY INCORRECT OR UNRECOGNIZED. PV ARRAY: %1",_this]
|
||||
};
|
||||
case (alive _object && {!(_class isKindOf "TentStorage_base" or _class isKindOf "IC_Tent")}): {
|
||||
|
||||
@@ -26,7 +26,7 @@ _exitReason = switch true do {
|
||||
case (_index < 0): {
|
||||
format["%1 error: PUID NOT FOUND ON SERVER. PV ARRAY: %2",_function,_params]
|
||||
};
|
||||
case (((dayz_serverClientKeys select _index) select 0 != owner _player) or !([((dayz_serverClientKeys select _index) select 1),_clientKey] call BIS_fnc_areEqual)): {
|
||||
case (((dayz_serverClientKeys select _index) select 0 != owner _player) or ((dayz_serverClientKeys select _index) select 1 != _clientKey)): {
|
||||
format["%1 error: CLIENT AUTH KEY INCORRECT OR UNRECOGNIZED. PV ARRAY: %2",_function,_params]
|
||||
};
|
||||
default {""};
|
||||
|
||||
@@ -13,10 +13,11 @@ call compile preprocessFileLineNumbers "\z\addons\dayz_code\loot\compile.sqf";
|
||||
|
||||
BIS_Effects_Burn = {};
|
||||
dayz_disconnectPlayers = [];
|
||||
dayz_serverKey = [];
|
||||
for "_i" from 0 to 12 do {
|
||||
dayz_serverKey = [59]; //makes sure client is kicked by publicvariableval.txt if they try to send it
|
||||
for "_i" from 1 to 12 do {
|
||||
dayz_serverKey set [_i, ceil(random 128)];
|
||||
};
|
||||
dayz_serverKey = toString dayz_serverKey;
|
||||
server_playerLogin = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf";
|
||||
server_playerSetup = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSetup.sqf";
|
||||
server_onPlayerDisconnect = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf";
|
||||
|
||||
Reference in New Issue
Block a user