Skip to content

build: resolve hytale server from remote maven + auto-bump#9

Open
johndoe1Johndoe wants to merge 4 commits intoHytaleOne:mainfrom
johndoe1Johndoe:build/remote-hytale-dep
Open

build: resolve hytale server from remote maven + auto-bump#9
johndoe1Johndoe wants to merge 4 commits intoHytaleOne:mainfrom
johndoe1Johndoe:build/remote-hytale-dep

Conversation

@johndoe1Johndoe
Copy link
Copy Markdown

Summary

  • Switch com.hypixel.hytale:Server from system-scope libs/HytaleServer.jar to a provided-scope dep resolved from maven.hytale.com/release. Version tracked via a single hytale.server.version property.
  • Generate manifest.json at build time using io.github.projectunified:hytale-manifest-maven-plugin, wired to the same property. ServerVersion always matches the compile target, eliminating the PluginManager "does not specify a target server version" warning.
  • Delete the static src/main/resources/manifest.json (now generated into target/classes).
  • Drop the HytaleServer.jar download step from .github/workflows/ci.yml — no longer needed. Repo secret HYTALE_SERVER_JAR_URL can be removed after merge.
  • Add .github/workflows/auto-bump-hytale.yml: scheduled daily job that resolves the latest Hytale release from maven metadata, bumps the property, runs a full package build as a gate, and commits to main only on green. API-breaking updates fail loudly instead of landing.
  • Adapt to Hytale Update 4 API drift: ProtocolSettings.PROTOCOL_HASH (String) was renamed to PROTOCOL_CRC (int). ServerDataProvider.getProtocolHash() now emits "%08X" of the CRC to preserve the existing string-typed Protocol Hash field on the OneQuery wire protocol — no client-visible break.
  • Document the field semantics in docs/PROTOCOL.md.

Maintainer notes

  • Branch protection: auto-bump-hytale.yml pushes directly to main as github-actions[bot]. If main has branch protection, either allow the bot to bypass or switch the workflow to PR mode (peter-evans/create-pull-request).
  • Secret cleanup: HYTALE_SERVER_JAR_URL is no longer referenced; safe to delete from repo secrets after merge.

Test plan

  • mvn clean package -DskipTests on clean checkout without libs/HytaleServer.jar → green
  • Generated target/classes/manifest.json contains resolved ServerVersion (verified 2026.03.26-89796e57b, Hytale Update 4)
  • Shaded jar contains the generated manifest.json
  • Load the built jar on a live Hytale Update 4 server; confirm no target server version warning and V1/V2 basic responses carry the 8-char hex Protocol Hash
  • Manually dispatch auto-bump-hytale workflow on a scratch branch to verify the metadata fetch + sed path

Drop libs/HytaleServer.jar (system scope) for
com.hypixel.hytale:Server from maven.hytale.com/release.
Generate manifest.json via hytale-manifest-maven-plugin
bound to ${hytale.server.version} so ServerVersion tracks
the compile target and clears the PluginManager target
version warning.
Daily scheduled job resolves the latest release from maven
metadata, bumps hytale.server.version, runs full package
as a gate, commits to main only on green.
Hytale Update 4 renamed ProtocolSettings.PROTOCOL_HASH
(String) to PROTOCOL_CRC (int). Emit "%08X" over the wire
to preserve the existing string-typed Protocol Hash field
and avoid a client-visible break.
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.

1 participant