Jump to content
  • 0
Fansky

Losing connection dupe bug - Please help to fix it!

Question

Hey guys, iam there to find a possibility that this duping glitch will do not work any more!

I think most of you know that bug, if you do not know, its better for you to do not know it ;)

 

Isn't there a solution, where every player who is losing connection ( or not connected to the server at this moment ) will get a stucked or freezed screen ?

 

Maybe with this fine commands client-side:

if not connected to server:
disableuserinput true; // player cant do anything (duper cant put his backpack down or into a car/shed/whatever)

and if connected again:

disableuserinput false; // could do everything again.

 

or another solution, where the player is unable to abort while losing connection - or got into combat while losing connection

 

or kicking every player, who aborded to lobby ( bad solution but better then let the whole world dupe - in general this dupe wont work with alt+F4/Shift+P etc couz you got disconnected )

 

or making players unable to abort near everything with a storage OR near a backpack lying on the ground (I think MGT got a nice fix like this but you could also dupe with lying backpack to the ground - maybe share your fix with us)

 

By MGT:

Added: Anti-Dupe. If you try and log out or disconnect near a storage item (safe/lockbox/vehicle/shed etc) with an identical backpack in, it will give an alarm and ask you to move away to disconnect. This is not for server restarts, this is only for clients who disconnect, abort, right shift and P or lose connection near storage.

 

The Problem making this dupe to work is, that the player will only abort to lobby and did not disconnect from server!

 

 

 

Please everyone who realy know wich duping method i mean, try to help and find a solution making this nice game better :=)

Please everyone who do not know iam talking about, please do not start to find a fix for your problems in this thread.

 

Much thanks to everyone who could help ;)

Share this post


Link to post
Share on other sites

41 answers to this question

Recommended Posts

  • 0

Yeah but its a bit overkill, a easy and much less network taffic usage would be to just detect if the red chains gets shown, but nobody can tell which display it used ..... even not in the Bi forums ->> http://forums.bistudio.com/showthread.php?187729-Show-active-displays-(looking-for-red-chain-idd)&p=2859804#post2859804

Share this post


Link to post
Share on other sites
  • 0

Yeah but its a bit overkill, a easy and much less network taffic usage would be to just detect if the red chains gets shown, but nobody can tell which display it used ..... even not in the Bi forums ->> http://forums.bistudio.com/showthread.php?187729-Show-active-displays-(looking-for-red-chain-idd)&p=2859804#post2859804

 

That true, we have more network traffic due to the PVs, but if you compare it to infistar its nothing ;)

 

Your is also interesting, to disconnect the player when the red chain is occuring.

But sometimes you get these chains whithout losing connection on a server.

Wouldn't that be a problem?

Share this post


Link to post
Share on other sites
  • 0

Why disconnect him ? just disallow him to open the menu while the red chain is present and its done :)

 

//edit, Found out more.... sadly RscPendingInvitation (red chain) do not have a idd...... (source ->> https://community.bistudio.com/wiki/Benargee's_Sandbox)so i think its not possible to detect if its currently visible.....

Share this post


Link to post
Share on other sites
  • 0

Using the script provided on this topic, I found out if cleared my server from most duping ( did not get any reports of new duping so far ).

I customized it to make the punishment... more... efficient? ;)

If someone wanna take a look.


 

private ["_time_count"];
cad_pvar_shared_var = player; cad_pvar_server_answer = 0; _time_count = diag_tickTime;
publicVariableServer "cad_pvar_shared_var";
while {diag_tickTime - _time_count < 8 && cad_pvar_server_answer == 0 } do {sleep 0.05;};
if (cad_pvar_server_answer == 0) exitWith {
	_BroadcastMessageAntiDupe = format ["%1 attempted to dupe!!! Let the admins know!", name player];
 [nil,nil,rTitleText,_BroadcastMessageAntiDupe,"PLAIN DOWN",10] call RE;  //Let everyone on the server know.
	diag_log format['Anti-Dupe: DUPER * %1 * FOUND! Let admins know! UID: %2',name player, getPlayerUID player];  //Logs duper name and UID
	systemChat "Anti-Dupe triggered!";
	hint "Anti-Dupe triggered!";
	titleText ["Anti-Dupe: You will therefore lose your ammo/items, your bag, and your map.","PLAIN DOWN"];
	(findDisplay 49) closedisplay 0;
	(vehicle player) setVehicleAmmo 0; //Removes all his ammo (also removes items)
	removeWeapon ItemMap; //Removes their map, but will leave their other Tools and guns
	removeBackpack player; //Self-Explanatory
	uisleep 8; 
	titleText ["Anti-Dupe will now kick you because you are bad! An admin has been notified of your actions. This was a warning.","PLAIN DOWN", 5];
	endMission "LOSER"; //Kick em to the lobby :3
};

Share this post


Link to post
Share on other sites
  • 0

 

Using the script provided on this topic, I found out if cleared my server from most duping ( did not get any reports of new duping so far ).

I customized it to make the punishment... more... efficient? ;)

If someone wanna take a look.

 

private ["_time_count"];
cad_pvar_shared_var = player; cad_pvar_server_answer = 0; _time_count = diag_tickTime;
publicVariableServer "cad_pvar_shared_var";
while {diag_tickTime - _time_count < 8 && cad_pvar_server_answer == 0 } do {sleep 0.05;};
if (cad_pvar_server_answer == 0) exitWith {
	_BroadcastMessageAntiDupe = format ["%1 attempted to dupe!!! Let the admins know!", name player];
 [nil,nil,rTitleText,_BroadcastMessageAntiDupe,"PLAIN DOWN",10] call RE;  //Let everyone on the server know.
	diag_log format['Anti-Dupe: DUPER * %1 * FOUND! Let admins know! UID: %2',name player, getPlayerUID player];  //Logs duper name and UID
	systemChat "Anti-Dupe triggered!";
	hint "Anti-Dupe triggered!";
	titleText ["Anti-Dupe: You will therefore lose your ammo/items, your bag, and your map.","PLAIN DOWN"];
	(findDisplay 49) closedisplay 0;
	(vehicle player) setVehicleAmmo 0; //Removes all his ammo (also removes items)
	removeWeapon ItemMap; //Removes their map, but will leave their other Tools and guns
	removeBackpack player; //Self-Explanatory
	uisleep 8; 
	titleText ["Anti-Dupe will now kick you because you are bad! An admin has been notified of your actions. This was a warning.","PLAIN DOWN", 5];
	endMission "LOSER"; //Kick em to the lobby :3
};

I think the problem is, this doesn't always mean they're duping.. this just stops them from duping if they are trying to. There could be a situation where they are losing connection and try to leave the server or relog without trying to dupe.

Share this post


Link to post
Share on other sites
  • 0

I think the problem is, this doesn't always mean they're duping.. this just stops them from duping if they are trying to. There could be a situation where they are losing connection and try to leave the server or relog without trying to dupe.

Consequences are not too bad, and in all honesty with this method it almost always mean they are trying to dupe. In the worst case in my server, they can come on TS to appeal and get their stuff back anyways :)

Share this post


Link to post
Share on other sites
  • 0

Found a new way to dupe. Not sure if I should share as the bad guys will know of it. Working on a fix atm.

 

If you want to help me try and fix this new dupe send me a private message.

 

Until I get a fix for it I will not post publicly about it as I have never seen this dupe before and I bet every server has this dupe wide open for players to abuse.

Share this post


Link to post
Share on other sites
  • 0

Found a new way to dupe. Not sure if I should share as the bad guys will know of it. Working on a fix atm.

 

If you want to help me try and fix this new dupe send me a private message.

 

Until I get a fix for it I will not post publicly about it as I have never seen this dupe before and I bet every server has this dupe wide open for players to abuse.

I can confirm what syco said. I tested it myself to see if it worked, and it worked on 100% of the servers I went on.

All I can say is that its regarding the mod system so... I don't recall a way to fix it yet. Working on it!

One thing is that epoch devs would maybe need to step in for this!

Share this post


Link to post
Share on other sites
  • 0

Hello

 

What is exactly needed to add to the BattlEye filters?

I'm getting a pvar restriction kick after installing the fix and so far i did not figure out what to add :P

Open your publicvariable.txt and on line two add  !="cad_pvar_shared_var"  at the end of the line so it looks like this

5 "" !"PVDZE_" !"norrn" !"usec" !="remExField" !="remExFP" !="currentInvites" !="drn_AskServerDynamicWeatherEventArgs" !="norrinRAlie" !="BIS_effects_gepv" !="dayzPlayerLogin" !="dayzPlayerLogin2" !"PVAHR_" !="PVAH_AdminReq" !="PVAH_WriteLogReq" !="cad_pvar_shared_var"

Share this post


Link to post
Share on other sites
  • 0

Hello

 

What is exactly needed to add to the BattlEye filters?

I'm getting a pvar restriction kick after installing the fix and so far i did not figure out what to add :P

If you check your pvar log it tells you what you are getting kicked for. You make a filter like so  !="cad_pvar_shared_var" and add it to the pvar.txt on the appropriate lines.

Share this post


Link to post
Share on other sites
  • 0

 

Using the script provided on this topic, I found out if cleared my server from most duping ( did not get any reports of new duping so far ).

I customized it to make the punishment... more... efficient? ;)

If someone wanna take a look.

 

private ["_time_count"];
cad_pvar_shared_var = player; cad_pvar_server_answer = 0; _time_count = diag_tickTime;
publicVariableServer "cad_pvar_shared_var";
while {diag_tickTime - _time_count < 8 && cad_pvar_server_answer == 0 } do {sleep 0.05;};
if (cad_pvar_server_answer == 0) exitWith {
	_BroadcastMessageAntiDupe = format ["%1 attempted to dupe!!! Let the admins know!", name player];
 [nil,nil,rTitleText,_BroadcastMessageAntiDupe,"PLAIN DOWN",10] call RE;  //Let everyone on the server know.
	diag_log format['Anti-Dupe: DUPER * %1 * FOUND! Let admins know! UID: %2',name player, getPlayerUID player];  //Logs duper name and UID
	systemChat "Anti-Dupe triggered!";
	hint "Anti-Dupe triggered!";
	titleText ["Anti-Dupe: You will therefore lose your ammo/items, your bag, and your map.","PLAIN DOWN"];
	(findDisplay 49) closedisplay 0;
	(vehicle player) setVehicleAmmo 0; //Removes all his ammo (also removes items)
	removeWeapon ItemMap; //Removes their map, but will leave their other Tools and guns
	removeBackpack player; //Self-Explanatory
	uisleep 8; 
	titleText ["Anti-Dupe will now kick you because you are bad! An admin has been notified of your actions. This was a warning.","PLAIN DOWN", 5];
	endMission "LOSER"; //Kick em to the lobby :3
};

Have you tested this to see if it works? 

 

Do I need to put this into my description.sqf or my server_functions.sqf?

Share this post


Link to post
Share on other sites
  • 0

Have you tested this to see if it works? 

 

Do I need to put this into my description.sqf or my server_functions.sqf?

It has been edited and re-tested lately, I can post you the one I currently use.

You need to add it to your description.ext in the part saying (around line 15 in my case):

 

onPauseScript = "custom\Bugs\AntiDupe.sqf";

Create a file called AntiDupe.sqf in the folder path I posted or put it wherever you want and edit the filepath to fit yours.

In the newly created sqf file, paste this:

 

private ["_time_count"];
_name = (name _player);
_puid = (getPlayerUID _player);
cad_pvar_shared_var = player; cad_pvar_server_answer = 0; _time_count = diag_tickTime;
publicVariableServer "cad_pvar_shared_var";
while {diag_tickTime - _time_count < 8 && cad_pvar_server_answer == 0 } do {sleep 0.05;};
if (cad_pvar_server_answer == 0) exitWith {
_txt = format ["Anti-Dupe: %1  (%2)  lost connection  (DC Dupe)  @%3",_name,_puid,(mapGridPosition _player)];
diag_log _txt;
systemChat "Anti-Dupe triggered!";
hint "Anti-Dupe triggered!";
titleText ["Anti-Dupe: You will lose part of your gear because u bad m8.","PLAIN DOWN"];
(findDisplay 49) closedisplay 0;
(vehicle player) setVehicleAmmo 0; //Removes all his ammo (also removes items)
removeWeapon ItemMap; //Removes their map, but will leave their other Tools and guns
removeBackpack player; //Self-Explanatory
uisleep 8;
titleText ["Anti-Dupe will now kick you because you are bad! An admin has been notified of your actions. This was a warning.","PLAIN DOWN", 5];
endMission "LOSER"; //Kick em to the lobby :3
};

Ofc, it is still pretty customizable depending on the *punishments* you want to give.

Share this post


Link to post
Share on other sites
  • 0

It has been edited and re-tested lately, I can post you the one I currently use.

You need to add it to your description.ext in the part saying (around line 15 in my case):

 

onPauseScript = "custom\Bugs\AntiDupe.sqf";

Create a file called AntiDupe.sqf in the folder path I posted or put it wherever you want and edit the filepath to fit yours.

In the newly created sqf file, paste this:

 

private ["_time_count"];
_name = (name _player);
_puid = (getPlayerUID _player);
cad_pvar_shared_var = player; cad_pvar_server_answer = 0; _time_count = diag_tickTime;
publicVariableServer "cad_pvar_shared_var";
while {diag_tickTime - _time_count < 8 && cad_pvar_server_answer == 0 } do {sleep 0.05;};
if (cad_pvar_server_answer == 0) exitWith {
_txt = format ["Anti-Dupe: %1  (%2)  lost connection  (DC Dupe)  @%3",_name,_puid,(mapGridPosition _player)];
diag_log _txt;
systemChat "Anti-Dupe triggered!";
hint "Anti-Dupe triggered!";
titleText ["Anti-Dupe: You will lose part of your gear because u bad m8.","PLAIN DOWN"];
(findDisplay 49) closedisplay 0;
(vehicle player) setVehicleAmmo 0; //Removes all his ammo (also removes items)
removeWeapon ItemMap; //Removes their map, but will leave their other Tools and guns
removeBackpack player; //Self-Explanatory
uisleep 8;
titleText ["Anti-Dupe will now kick you because you are bad! An admin has been notified of your actions. This was a warning.","PLAIN DOWN", 5];
endMission "LOSER"; //Kick em to the lobby :3
};

Ofc, it is still pretty customizable depending on the *punishments* you want to give.

 

tested, does not work

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...