#1 2018-04-15 16:40:42

Black Mamba
Member
Canada
Reputation: +1497
Registered: 2012-12-01
Posts: 4,363
Android Chrome 65.0

Question about content check mode

Hey so I was wondering if anybody knew which Archives RFAs were checked when Content Check is on: texture.rfa, objects.rfa, menu.rfa and standardmesh.rfa?

Is there a way to make it check every RFA in the Archives against the client version?

What are the real advantages of using content check mode?

Offline

    Positive reputation 0   Negative reputation 0

#2 2018-04-15 17:38:48

Arkos
Sedmin
Switzerland
Reputation: +2783
Registered: 2014-06-06
Posts: 7,048
Windows 7 Chrome 65.0

Re: Question about content check mode

...

Pure/Unpure/Off

I guess it compares crc hash of the maps and perhaps other files.

I think if you activate content check, you have to edit ontentcrc32.con and add all used maps.

Some mods are not working with content check = 1 (pure) on Mercilless, DC as example, but perhaps with =2, (unpure), which seemse to be senseless.

...

I don't really know it, but i bet, Tuia can bring light in this.

...

Last edited by Arkos (2018-04-15 17:41:35)

Offline

    Positive reputation 1   Negative reputation 0

#3 2018-04-15 17:39:35

Trench
Member
United States
Reputation: +130
Registered: 2014-05-05
Posts: 221
Windows 10 Chrome 65.0

Re: Question about content check mode

I'll be interested to hear from anyone with actual expertise or experience using it, too.  I've never run with it, and never tested what actually was or wasn't necessary.

The understanding I had read somewhere and "made sense" to me was that you're not literally "checking the client RFA files against the server."  Because for any server that is running a dedicated server installation (using literally the dedicated server installation files), your RFAs don't match the client game RFA.  Because the dedicated server versions of the maps don't have the textures, etc., presumably to save server memory footprint.

What I recall is that you actually have to generate the contentcrc32.con list of hashes yourself, against the set of map files that you wanted to allow on the client side.  Which again "made sense", because I could also have server-side modded maps which intentionally don't match exactly what the client has, or what comes with the default game installation.  (Searching on "generateMapListForCrcContent" or more loosely "contentcrc32.con" appears to confirm this.)

The reasoning for using content check, as I understand it, is to prevent someone from running with an intentionally modified local set of map objects that gives them any kind of advantage.  e.g. Textures now mostly transparent so that I can see through things; enemy skin now blaze orange so that when they're moving or hiding against colors they normally blend with I can still see them, etc.

But I assume that means you could also create trouble for folks who are running BF1942HD or similar, where the differences are "intentional."  Not sure if you can list more than one allowed hash for the same map in contentcrc32.con, so that someone with "original code" and someone else with "approved modifications" of the same map are both allowed to connect.

-Trench

Offline

    Positive reputation 1   Negative reputation 0

#4 2018-04-15 22:03:47

bud
maestro
Reputation: +1842
Location: shangri la
Registered: 2012-07-07
Posts: 3,960
Website
Windows 7 Firefox 59.0

Re: Question about content check mode

Black Mamba wrote:

What are the real advantages of using content check mode?

Pure is for standard bf42 and it does a check on the the most common game files + maps, unpure is for mods (like Desert Combat) and i think its limited to checking the maps only.

Every map has settings like fog-distance so its why they are checked, it can only have one crc value that is correct, opening a map and saveing it without changing anything is enough to break the check-sum.

The bf-server doesnt need to check its own files as it cant really cheat, modding affects all players equally.

There is a way to check all client files, but it needs punkbuster to run, forgot the name tho and its absolete anyway.

edit: the server use the contentcrc32.con file to look up the checksums of the maps. The bf42.exe is not checked so HD works with pure settings.

Last edited by bud (2018-04-15 22:08:29)

Offline

    Positive reputation 1   Negative reputation 0

#5 2018-04-15 23:17:00

Black Mamba
Member
Canada
Reputation: +1497
Registered: 2012-12-01
Posts: 4,363
Android Chrome 65.0

Re: Question about content check mode

Thanks guys, really helpful answers!

Offline

    Positive reputation 0   Negative reputation 0

#6 2018-04-25 05:47:50

Black Mamba
Member
Canada
Reputation: +1497
Registered: 2012-12-01
Posts: 4,363
Windows 10 Chrome 65.0

Re: Question about content check mode

Found some helpful info about BF1942 content checking here, for anyone that is interested: https://www.gpforums.co.nz/threads/1629 … w-it-works

Offline

    Positive reputation 0   Negative reputation 0

#7 2018-04-25 11:35:13

Arkos
Sedmin
Switzerland
Reputation: +2783
Registered: 2014-06-06
Posts: 7,048
Windows 7 Chrome 65.0

Re: Question about content check mode

...

Ok. Option 2 is CRC checked too. That makes sense now.

...

Offline

    Positive reputation 0   Negative reputation 0

#8 2020-04-27 17:54:28

Black Mamba
Member
Canada
Reputation: +1497
Registered: 2012-12-01
Posts: 4,363
OS X Safari 13.0

Re: Question about content check mode

Does anyone run an Unpure server here? I tried making one for my mod. I thought it worked at first as I was able to join the server myself however when another player (Jim2102) joined the server with the exact client files I had he got kicked with the Data differs from server error.

Last edited by Black Mamba (2020-04-27 17:54:56)

Offline

    Positive reputation 0   Negative reputation 0

#9 2020-09-16 16:44:21

Black Mamba
Member
Canada
Reputation: +1497
Registered: 2012-12-01
Posts: 4,363
OS X Safari 13.1

Re: Question about content check mode

It seems using a custom contentcrc32.con file when the server is set to Unpure not only checks the map RFAs of your mod, but other archives too. The readme says that it checks if both server and client have identical object spawns, so for this specific condition it must verify if level files meet this condition by making sure the check sums match, as expected.

The second rule in the Readme file says that Unpure mode then checks if both server and client have the same CON files. To make sure this condition is met, I would imagine at least the objects.rfa of the mod in question is checked in addition to the map files, or perhaps only the map files themselves. It might be possible that to check if this condition is respected, other archives might also be checked such as Game.rfa, since it contains CON files. So my guess is that the CON files contained in the level being played are checked, on top of CON files contained in other archives like objects.rfa and game.rfa.

The third and last rule says that HUD and menu textures cannot have mipmaps. Once again the Unpure content checking mechanism must check that this condition is met. HUD and menu textures are contained in the menu.rfa, so the game is checking that archive to look for menu and HUD textures that don’t have mipmaps, and if the textures with mipmaps  are detected, then the client receives a « Data differs from server » error.

So it is safe to assume that generating a custom contentcrc32.con file for your personal mod would not only check the integrity of the map RFAs but also objects.rfa, Game.rfa and menu.rfa to make sure all the rules I mentioned above are respected.

On top of this I believe Unpure mode not only checks the integrity of the custom mod being played but also vanilla BF1942 RFAs. When testing the Unpure mode with Jim, I sent him the custom mod files (CTF mod) which were identical to mine, he did not modify them at all. I was able to enter the Unpure Internet server without any issue, but he wasn’t, which leads me to believe that his client BF1942 vanilla files were different from mine and the server.

Last edited by Black Mamba (2020-09-16 16:46:23)

Offline

    Positive reputation 0   Negative reputation 0

Board footer