Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Gradle boilerplate #82

Merged
merged 1 commit into from
Aug 28, 2023
Merged

Conversation

Protonull
Copy link
Contributor

@Protonull Protonull commented Aug 19, 2023

  • Moves the Mojang mappings to the subprojects block in the root build.gradle.

  • Updates the "dev.architectury.loom" plugin to 0.12.0-SNAPSHOT.

  • Updates "com.github.johnrengelman.shadow" plugin to 7.1.2.

  • Updates the Fabric Loader version from 0.13.3 to 0.14.9.

  • Updates the Fabric API version from 0.51.1 to 0.58.0.

  • Updates the Forge version from 40.1.19 to 40.1.73.

Copy link
Member

@Gjum Gjum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few questions. Overall LGTM

mod/fabric/build.gradle Outdated Show resolved Hide resolved
mod/gradle.properties Show resolved Hide resolved
Copy link
Member

@Gjum Gjum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further thought, I really don't like the introduction of the Architectory API dependency. We don't use any of its features (it seems more geared towards modifying the base game by adding blocks etc.) and it requires users installing another jar.

@Protonull
Copy link
Contributor Author

I'm happy to remove the Architectury API, but I would like some brainstorming on how we can assert that a development environment is a development environment. Spamming Mojang with authentication requests is not great.

@Huskydog9988
Copy link
Contributor

Is the disable auth option not sufficient, also I was under the impression you wanted to use architectury for its other features too.

@Protonull
Copy link
Contributor Author

Is the disable auth option not sufficient

Nope. The server sends the EncryptionRequest packet which includes the server's public key. Once received, the mod will generate a 16-byte secret and digests it in combination with the server's public key and then initiates a authentication check with Mojang. When the server receives the EncryptionResponse packet, which includes the mod's secret, the server will likewise digest it in combination with its public key and query Mojang.

Your DISABLE_AUTH is strictly server-side, ie, the server will not attempt to validate whether a client is authenticated with Mojang, but this doesn't stop the client from authenticating. This is a commit from my fork which demonstrates the usefulness of this distinction since dev clients will almost never be authenticated. And since MapSync clients will continually attempt to reconnect to a server every 5 seconds or so, you're effectively spamming Mojang's authentication servers.

@Protonull Protonull force-pushed the gradle-boilerplate branch 2 times, most recently from c66a790 to 37deaf0 Compare August 28, 2023 12:36
- Moves the Mojang mappings to the subprojects block in the root build.gradle.

- Updates the "dev.architectury.loom" plugin to 0.12.0-SNAPSHOT.

- Updates "com.github.johnrengelman.shadow" plugin to 7.1.2.

- Updates the Fabric Loader version from 0.13.3 to 0.14.9.

- Updates the Fabric API version from 0.51.1 to 0.58.0.

- Updates the Forge version from 40.1.19 to 40.1.73.
@Gjum Gjum merged commit 6448591 into CivPlatform:stable Aug 28, 2023
1 check passed
@Protonull Protonull deleted the gradle-boilerplate branch August 29, 2023 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants