Bug #24104

[Linux DS] regularCheck enabled still kicks "good" players randomly

Added by Fireball almost 5 years ago. Updated almost 4 years ago.

Status:Rejected Start date:09/04/2011
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Server
Target version:-
Affected ArmA II version:1.60 BETA First affected build:
Reproduced by another DH user:No First affected ArmA II version:1.60 BETA
I am using some Mods:Yes Single / Multi Player?:
I am using:CO (OA+A2) BIForumURL:
Reproducible for you:Yes NGUrl:
Related to content of DLC: WIKIurl:

Description

With

regularCheck = "";
or
// regularCheck = ""; (i.e. commented)

I'm getting kicked with latest Beta patch (84260) out of my Linux Beta DS (84216), frequently.

Now this could be due to different beta build levels, but from what I know regularCheck is frequently checking signatures in background, so if the server (with sig checking) allows me to join and stay, I expect regularCheck to do the same.

With

regularCheck = "{}";

everything is fine.

Repro Steps
- Use Linux DS
- Load any mission (Insurgency 0.81a Takistan in my case)
- Join with beta client
- Move around or wait a minute or two

server.cfg (4 kB) Fireball, 10/24/2011 09:54

fireball_client.md5 (39.2 kB) kju, 10/25/2011 06:56

fireball_server.md5 (20.3 kB) kju, 10/25/2011 06:56


Related issues

related to ARMA2 Community Issue Tracker - Bug #24458: Sig v2 check bans players when server takes long to load ... Closed 09/12/2011

History

Updated by Dwarden almost 5 years ago

disabling regularCheck you negate the v2 engine security features ...

if You using mission with BAF/PMC content then the problem is obvious (was fixed in betas)

anyway i suggest You try use last beta 84260 build or newer for client

Updated by Fireball almost 4 years ago

I must add I only turned on v1 sigs so far. But this shouldn't change on regularCheck behaviour, should it?

Updated by kju almost 4 years ago

regularCheck has the design problem of clients getting kicked when it runs into a timeout.
So in other words, if your client is unable to return the result to the server in time,
for whatever reason, you will get dropped from the server.

To get a better idea of your problem, you would have to specific the moment people
were getting dropped (connecting, loading the mission, during the mission etc).

Updated by Fireball almost 4 years ago

I get also kicked when present and in the game in my tests. Simply put, I've never managed to stay in for 2 minutes.

Updated by kju almost 4 years ago

Might be useful to write down the rough repro steps for you
and the details like mission used, server settings etc.

Updated by Fireball almost 4 years ago

  • Description updated (diff)
  • I am using some Mods changed from No to Yes

I don't see why, because when I disable regularCheck, it works alright. But did it anyway.

Mods loaded: @lingor, @fallujah, @plr_mana

As I stated earlier, regularCheck does AFAIK only frequently check the sigs - so if it let me on once, regularCheck shouldn't get in my way, if it's working correctly.

PS.: Dwarden's theory is, that the Linux DS might be bugged in that regard.

Updated by kju almost 4 years ago

regularCheck does more in depth local (hash) checks and sends em to the server on a constant basis AFAIK.
From what I can tell regularCheck has no relation to the signature system.

As explained in the thread, most servers have it disabled due to the issues in the past.

Updated by Fireball almost 4 years ago

kju wrote:

From what I can tell regularCheck has no relation to the signature system.

Dwarden told me otherwise, apparently the main benefit in v2 signatures would lie within enabled regularCheck, thus we need to make sure it works fine before 1.60.

Updated by Dwarden almost 4 years ago

  • Priority changed from Normal to High
  • Target version set to Upcoming version

ok more details needed, does it affect OA or A2: CO content ?

does it happens with both v1 and v2 or only v1 ?

Updated by Fireball almost 4 years ago

  • I am using set to CO (OA+A2)

Will check for v2 sigs (alas without mods).

I must add, that the mission only loads OA, BAF and PMC content.

Updated by Fireball almost 4 years ago

Re-checked with v2 enabled, without mods, same issue.

Getting kicked before 2 minutes expire, tasked out or not.

Updated by Fireball almost 4 years ago

  • Subject changed from regularCheck enabled still kicks "good" players randomly to [Linux DS] regularCheck enabled still kicks "good" players randomly

Confirming to be a Linux DS only problem.

Updated by admin almost 4 years ago

  • First affected ArmA II version set to 1.60 BETA

Updated by idl0r almost 4 years ago

  • Operating system set to Linux
  • Reproducible for you changed from Yes to No

Updated by Fireball almost 4 years ago

  • Reproducible for you changed from No to Yes

It's reproducible for me, so please do not unset this.

Updated by Dwarden almost 4 years ago

  • Priority changed from High to Urgent

raising priority, 2nd linux server version in row ...

Updated by Suma almost 4 years ago

As some fix for v2 timeouts was implemented in 84662 (#24528 note 14), while last Linux DS I am aware of was build from 84426 (http://community.bistudio.com/wiki/ArmA:_Dedicated_Server#Linux_4), the issue perhaps might be only the Linux DS needs rebuild.

Updated by Fireball almost 4 years ago

As it was always only a Linux DS issue, before Win DS had the v2 fix and subsequent issues, I'd be careful on that assumption.

Updated by Dwarden almost 4 years ago

  • Status changed from Assigned to Feedback

new linux server 1.59.85663, please retest
http://forums.bistudio.com/showthread.php?t=124790

Updated by Fireball almost 4 years ago

Unfortunately it is still the case with build 85663.

I really wish to hear from other Linux DS users, if they experience the same.

Updated by Dwarden almost 4 years ago

what linux distribution and kernel build You use ?

Updated by bebul almost 4 years ago

We have tried to reproduce the problem several times BIS inside, but our linux server is running without any signature kicks. I would like to know the exact content of server.cfg file and possibly try to connect to your server from my debug client to see what has happened client side...

Updated by Fireball almost 4 years ago

server.cfg attached.

%./bin/uname -a
Linux jail.zerouptime.ch 2.6.16 FreeBSD 7.3-RELEASE-p1 #6: Thu May 27 12:42:43 CEST 2010 i686 i686 i386 GNU/Linux

It's a FreeBSD Linux Compat running on my jail machine. I'm sorry if this might fall outside your support capabilities (would be shame though, it runs fine apart from regularCheck), but I wasn't aware that this might be related to kernel/OS issues.

You can connect to the server anytime at 81.6.6.93:2302 (or filter for host name 'Fireball').

Updated by bebul almost 4 years ago

Can you try to investigate the following?
  1. Test A: run different mission (not insurgency)
  2. Test B: try to set onDifferentData="{}";
  3. Test C: try to set onUnsignedData ="{}";
    You have declared you are kicked, not banned, so one of onDifferentData or onUnsignedData must hold!
    onUnsignedData = "kick (_this select 0)"; // unsigned data detected
    onHackedData = "ban (_this select 0)"; // tampering of the signature detected
    onDifferentData = "kick (_this select 0)"; // data with a valid signature, but different version than the one present on server detected
    

Updated by Fireball almost 4 years ago

Test A has already passed, it also happens e.g. with Warfare BE.

For test B and C I can only confirm that nothing happens with verifySignatures=2 still turned on but regularCheck disabled (also, with RC enabled, it wouldn't kick on join, but only after 1-2 minutes usually).

Then again if you suspect that regularCheck triggers one of the mentioned, I can only verify by tonight unfortunately.

Updated by bebul almost 4 years ago

Then again if you suspect that regularCheck triggers one of the mentioned, I can only verify by tonight unfortunately.

Would be great to know whether it is case B or C. I suppose it would not be missing signature, as you are probably able to run the same configuration on windows server. But I am afraid of the different data. But need to know exactly before any further investigation.

Updated by Fireball almost 4 years ago

I remembered the IP of my server wrongly; I checked the mapping now; it's 81.6.6.92:2302.

EDIT: And we have a winner: it is B!

onDifferentData = "{}"; // and I don't get kicked anymore with regularCheck

EDIT2:
It might be the same funny effect, that I get kicked/banned from my own server, if I only copy my ArmA 2 directory, start a server off the copy and try to join with the client started from the original.

EDIT3: On my Win DS copy I get kicked instantly. Throws up the question, why the Linux server only does it during regularCheck (apart from the why does it happen at all).

Updated by kju almost 4 years ago

It seems a false alarm.

Fireball client and server files differ significantly from a standard install and between the two.
This seems/is why onDifferent kicks him.

Still needs to be verify and confirmed by Fireball, but for now it seems false alarm.

Release MD5 to be found here:
http://dev-heaven.net/projects/cmb/repository/revisions/master/show/md5Patches

PS: Shows why official md5 on game files (pbo, bisign, exe) or a tool to verify against a given/the latest release version would be most useful.

Updated by Fireball almost 4 years ago

kju wrote:

Fireball client and server files differ significantly from a standard install and between the two.

It's interesting, while I must say with the server I'm not sure anymore if I accidentially uploaded it from an older version of the game, but certainly my client has always been patched using official patches up to now.

It seems a false alarm.

This depends. If differentData checks only work with regularCheck (because it's too much to check on join), then yes. But my findings with the Windows DS would tell me that it should kick immediately when you join with a client with different data. So there may be another issue.

But first I'll verify my client tonight against official sources and then re-upload data to the server.

EDIT: Thanks for taking the time to check the files for me, since my family returned I don't have so much time. It might also take another while to transfer all the server data again.

Updated by Fireball almost 4 years ago

  • Due date deleted (12/04/2011)
  • Status changed from Feedback to Rejected
  • Assignee deleted (Fireball)
  • Priority changed from Urgent to Normal

After taking my time to look at the diffs between kju's 1.59 full listing (which has ArmA 2 1.09 md5 sums, me having 1.10) and talking to Dwarden, I came to the conclusion that language-related PBOs (plus apparently bin.pbo) are different depending on distro, plus, BAF/PMC PBOs are different for everyone since they're encrypted.

Thus onDifferentData might be something that should be disabled for public servers, in this case.

EDIT: The data on the server is definitely outdated though.

Updated by Dwarden almost 4 years ago

just note, I hope You don't used FULL BAF and PMC data on server, that's wrong

only Lite data of DLC must be used on dedicate servers, always !

this mean NO DLC, as Lite DLC are part of the base game

Updated by Fireball almost 4 years ago

No lite data, just old data. I think it was 1.58 data, from the gamedir, which I copied sometime ago so I could take off with it on my laptop - I just didn't remember it was that old, when I copied it from my external HDD to the server. At least it had no bi2.bisigns (v2 sigs).

Updated by kju almost 4 years ago

  • Target version deleted (Upcoming version)

Also available in: Atom PDF