JarsAuth

JarsAuth

Mod

A Minecraft client management mod (not only anti-cheat) that provides functions to authenticate the clients

Client and server ManagementUtility

1,137 downloads
8 followers
Created10 months ago
Updated7 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

JarsAuth

For detailed Chinese description, please go to 客户端验证 (JarsAuth) - MC百科|最大的Minecraft中文MOD百科

Introduction

Usually, the mod loader can check whether the mod lists of the client and server match each other. However, only the mods required by both sides will be checked but not the client-only mods like minimaps, render optimization mods or even cheat mods. Some clients may also use X-ray resourcepacks, which makes a tremendous impact on game fairness. There are also some traditional anti-cheat measures like generating some fake ores to blur players' vision, but they may break chunk data or cause lags.

JarsAuth is a client management mod intended for modpack authors and server managers. It can check if mods, including client-only mods, and all other kinds of files like resourcepacks in the client modpacks are corresponding to the ones made and published by the server managers.

For example, if the server DOES NOT allow the players to use minimap, those who add one by themselves will be refused to connect; if the server requires the players to use minimap, those who delete it by themselves will be refused to connect.

Another function is version control. Suppose that the server updates some mods, but some of the clients are not up-to-date. The network channel does not change and the mod loader may not reject the connection request from those legacy versions. The difference between the client side mods and the server sides mods may lead to some negative impacts on server data. This mod will help you to "stop signing the legacy versions (just like Apple's policies on iOS)", so that you can secure your server save and player data.

Mod Functions

JarsAuth will check all files in the configured folders and calculate their hash values, which are used to generate the hash code of the whole client. Then this hash code will be used to authenticate the client.

Whenever a client is connected to the server, the server will send an authentication profile to the client every several seconds. Every time the client receive the profile, it will have some time to calculate a hash signature and send the code to the server. If the code is different from server's record, it will be rejected.

IMPORTANT

We have confirmed that the "exclusion" may cause unexpected issues. Because the mod will never check a file that is excluded. So the player can replace this file with a same-named file during the gameplay and that file will be ignored.

Hence, we have removed the "exclusion" setting in the latest version and we are regret to announce that this mod is no longer compatible with I18nUpdateMod or any other mods or functions that can generate files during gameplay. To resolve this problem, we recommend you to generate those files (if possible) before you release the modpacks so those mods can be removed.

Configuration Tutorial (4.0)

Now the configurations of Forge and Fabric are the same.

  • Plan your modpack and add all the mods and files you need to the corresponding folders.

  • After the preparation, run your server first and run the server command "/jarsauth record" to toggle on the record mode. In this mode, the server accepts all connections and will record details of the clients.

  • Connect to the server with your test clients.

  • After you see "Client details reloaded" in server console and a file called "acc-x.json" is generated in server save folder , you can disconnect your client and run the server command "/jarsauth record" again to toggle off the record mode.

  • Then go to server save folder, where there is a file called "jarsauth-profile.json". You can read the comments carefully and modify the configuration.

  • After this step, please run the server command "/jarsauth reload" to reload the configs and put them into effect.

  • Then the clients are allowed to connect to the server under the rules of "inclusions". There is NO client configs anymore!

  • To refuse clients, just remove their corresponding "acc-x.json" files.

  • The authentication may fail sometimes due to unstable network connection or server lag, just reconnect and you will still be allowed to connect to the server.

Mod Author's Words

This part has been moved to GitHub.


Project members

jissee1

Owner

Jissee

Owner's Github account


Technical information

License
GPL-3.0-only
Client side
required
Server side
required
Project ID