Skip to content

Merge upstream ViaVersion/ViaProxy - #1

Merged
twisti-dev merged 36 commits into
fork-patchesfrom
upstream-sync-2026-09-24
Sep 24, 2026
Merged

twisti-dev merged 36 commits into
fork-patchesfrom
upstream-sync-2026-09-24

Conversation

@twisti-dev

Copy link
Copy Markdown
Member

Merge the latest ViaVersion/ViaProxy:main changes into fork-patches while preserving the fork-specific patches.

RaphiMC and others added 30 commits August 20, 2026 21:36
…#754)

Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.6.0-jre to 33.7.1-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-version: 33.7.1-jre
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.17.0 to 2.17.1.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@c7af9bc...8f01d54)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 2.17.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.7.0 to 9.7.1.
- [Release notes](https://github.com/gradle/gradle/releases)
- [Commits](gradle/gradle@v9.7.0...v9.7.1)

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.7.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 5.7.0 to 6.0.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](actions/setup-java@b6effb0...dd06d9c)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.17.1 to 3.0.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@8f01d54...e4a6c13)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/jline/jline3/releases)
- [Commits](jline/jline3@4.3.1...4.4.0)

---
updated-dependencies:
- dependency-name: org.jline:jansi
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@e4a6c13...71fdb88)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@96fe6ef...1f40c72)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/jline/jline3/releases)
- [Commits](jline/jline3@4.4.0...4.4.1)

---
updated-dependencies:
- dependency-name: org.jline:jansi
  dependency-version: 4.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.4.1 to 4.4.2.
- [Release notes](https://github.com/jline/jline3/releases)
- [Commits](jline/jline3@4.4.1...4.4.2)

---
updated-dependencies:
- dependency-name: org.jline:jansi
  dependency-version: 4.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@71fdb88...0d5670f)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Version#767)

Bumps [dev.kastle.netty:netty-transport-raknet](https://github.com/Kas-tle/NetworkCompatible) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/Kas-tle/NetworkCompatible/releases)
- [Commits](Kas-tle/NetworkCompatible@1.7.3...1.7.4)

---
updated-dependencies:
- dependency-name: dev.kastle.netty:netty-transport-raknet
  dependency-version: 1.7.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/jline/jline3/releases)
- [Commits](jline/jline3@4.4.2...4.4.3)

---
updated-dependencies:
- dependency-name: org.jline:jansi
  dependency-version: 4.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…iaVersion#773)

Bumps [io.netty:netty-codec-haproxy](https://github.com/netty/netty) from 4.2.17.Final to 4.2.18.Final.
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](netty/netty@netty-4.2.17.Final...netty-4.2.18.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-codec-haproxy
  dependency-version: 4.2.18.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](actions/setup-java@dd06d9c...de7274f)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@1f40c72...9901266)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@37fe631...594f3bf)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@53b7df9...c3c9e26)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.4.3 to 4.4.5.
- [Release notes](https://github.com/jline/jline3/releases)
- [Commits](jline/jline3@4.4.3...4.4.5)

---
updated-dependencies:
- dependency-name: org.jline:jansi
  dependency-version: 4.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot Bot and others added 6 commits September 21, 2026 13:10
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@0d5670f...9af557d)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@9af557d...df474cd)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 24, 2026 17:47
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-24T17:54:07.138592Z 5d6d034 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@twisti-dev
twisti-dev merged commit 0688d21 into fork-patches Sep 24, 2026
8 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Unresolved configuration compatibility, run-directory, and Bedrock status-handling issues remain.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity · 3 Medium severity · 1 Low severity

Open (5)
What changed in this PR

Merges upstream ViaProxy changes while preserving fork-specific patches.

Changes:

  • Migrates NetherNet transport and address handling.
  • Adds asynchronous Bedrock status and protocol detection.
  • Updates dependencies, workflows, documentation, and translations.
File Summary
src/​main/​resources/​assets/​viaproxy/​language/​th_TH.properties Adds Thai localization.
src/​main/​resources/​assets/​viaproxy/​language/​nl_NL.properties Adds Dutch localization.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​StatusPingUtil.java Adds asynchronous ping utilities.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​ProtocolVersionDetector.java Removes the replaced detector.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​AddressUtil.java Updates NetherNet address parsing and serialization.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​address/​NetherNetXboxJsonRpcAddress.java Adds Xbox JSON-RPC address support.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​address/​NetherNetXboxAddress.java Adds Xbox NetherNet address support.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​address/​NetherNetLanAddress.java Adds LAN NetherNet address support.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​address/​NetherNetHttpAddress.java Adds HTTP NetherNet address support.
src/​main/​java/​net/​raphimc/​viaproxy/​util/​address/​NetherNetAddress.java Defines NetherNet address types.
src/​main/​java/​net/​raphimc/​viaproxy/​ui/​impl/​RealmsTab.java Updates Realms joining behavior.
src/​main/​java/​net/​raphimc/​viaproxy/​proxy/​session/​ProxyConnection.java Updates Gson usage.
src/​main/​java/​net/​raphimc/​viaproxy/​proxy/​session/​BedrockProxyConnection.java Migrates Bedrock transport support.
src/​main/​java/​net/​raphimc/​viaproxy/​proxy/​proxy2server/​Proxy2ServerChannelInitializer.java Updates Bedrock pipeline setup.
src/​main/​java/​net/​raphimc/​viaproxy/​proxy/​packethandler/​LoginPacketHandler.java Updates authentication accessors.
src/​main/​java/​net/​raphimc/​viaproxy/​proxy/​external_interface/​ExternalInterface.java Updates token retrieval.
src/​main/​java/​net/​raphimc/​viaproxy/​proxy/​client2proxy/​Client2ProxyHandler.java Adds Bedrock status handling and protocol detection.
src/​main/​java/​net/​raphimc/​viaproxy/​protocoltranslator/​providers/​ViaProxyClassicMPPassProvider.java Updates provider naming.
src/​main/​java/​net/​raphimc/​viaproxy/​protocoltranslator/​ProtocolTranslator.java Adds configurable platform initialization.
src/​main/​java/​net/​raphimc/​viaproxy/​protocoltranslator/​impl/​ViaProxyPlatformLoader.java Updates provider registration.
src/​main/​java/​net/​raphimc/​viaproxy/​protocoltranslator/​impl/​ViaProxyMappingDataLoader.java Validates protocol mappings.
README.md Updates supported versions.
gradle/​wrapper/​gradle-wrapper.properties Updates Gradle.
gradle.properties Updates the project version.
buildSrc/​src/​main/​groovy/​base.application-conventions.gradle Configures the application run directory.
build.gradle Updates repositories and dependencies.
.github/​workflows/​crowdin-sync.yml Updates the Crowdin action.
.github/​workflows/​build.yml Updates Java setup.
.github/​workflows/​build-docker.yml Updates Docker build actions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +41 to 45
} else if (serverAddress.startsWith("nethernet://")) { // NetherNet HTTP Address
final HostAndPort hostAndPort = HostAndPort.fromString(serverAddress.substring(serverAddress.indexOf("://") + 3));
if (hostAndPort.getHost().isBlank()) {
throw new IllegalArgumentException("Server address cannot be blank");
}
Comment on lines +205 to +209
final CompletableFuture<? extends IPingResponse> pingFuture;
if (serverAddress instanceof NetherNetHttpAddress) {
pingFuture = StatusPingUtil.pingBedrockNetherNetHttp(serverAddress);
} else {
pingFuture = StatusPingUtil.pingBedrockRakNet(serverAddress);
pingFuture.thenAccept(response -> {
final MCPingResponse javaResponse = StatusPingUtil.convertToJavaPingResponse(response);
javaResponse.version.protocol = clientVersion.getOriginalVersion();
this.proxyConnection.getC2P().writeAndFlush(new S2CStatusResponsePacket(new Gson().toJson(javaResponse))).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
final MCPingResponse javaResponse = StatusPingUtil.convertToJavaPingResponse(response);
javaResponse.version.protocol = clientVersion.getOriginalVersion();
this.proxyConnection.getC2P().writeAndFlush(new S2CStatusResponsePacket(new Gson().toJson(javaResponse))).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
this.proxyConnection.getC2P().writeAndFlush(new S2CStatusPongResponsePacket(0)).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
tab.realms.unsupported_account=Niet ondersteund account geselecteerd
tab.realms.refreshing_account=Account vernieuwen...
tab.realms.availability_check=Beschikbaarheid controleren...
tab.realms.unavailable=Uw VIaProxy is verouderd en niet compatibel met Minecraft Realms.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5d6d0345fc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +41 to +46
} else if (serverAddress.startsWith("nethernet://")) { // NetherNet HTTP Address
final HostAndPort hostAndPort = HostAndPort.fromString(serverAddress.substring(serverAddress.indexOf("://") + 3));
if (hostAndPort.getHost().isBlank()) {
throw new IllegalArgumentException("Server address cannot be blank");
}
} else if (serverAddress.startsWith("nethernet://")) { // NetherNet Address
final String addressPart = serverAddress.substring(serverAddress.indexOf("://") + 3);
if (NETHERNET_NETWORK_ID_PATTERN.matcher(addressPart).matches()) {
return new NetherNetAddress(addressPart);
} else {
final HostAndPort hostAndPort = HostAndPort.fromString(addressPart);
if (hostAndPort.getHost().isBlank()) {
throw new IllegalArgumentException("Server address cannot be blank");
}
return new NetherNetInetSocketAddress(hostAndPort.getHost(), hostAndPort.getPortOrDefault(ProtocolConstants.BEDROCK_NETHERNET_DEFAULT_PORT));
return new NetherNetHttpAddress(hostAndPort.getHost(), hostAndPort.getPortOrDefault(ServerAddress.DEFAULT_BEDROCK_PORT));

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve legacy NetherNet address schemes

Existing configurations were serialized as nethernet://<network-id> for Xbox signaling, nethernet://host:port for LAN discovery, or nethernet-rpc://<network-id> for JSON-RPC. After an upgrade, this branch silently reinterprets the first two as HTTP signaling while the last falls through to ordinary HostAndPort parsing and is invalid, so previously working NetherNet targets can no longer connect or are reset during config loading. Accept and migrate the legacy forms before applying the new scheme meanings.

Useful? React with 👍 / 👎.

Comment on lines +206 to +209
if (serverAddress instanceof NetherNetHttpAddress) {
pingFuture = StatusPingUtil.pingBedrockNetherNetHttp(serverAddress);
} else {
pingFuture = StatusPingUtil.pingBedrockRakNet(serverAddress);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Route non-HTTP NetherNet targets away from RakNet ping

When the configured Bedrock target is NetherNetLanAddress, NetherNetXboxAddress, or NetherNetXboxJsonRpcAddress and the custom MOTD is blank, this fallback passes it to the RakNet UDP pinger even though these addresses require NetherNet signaling; Xbox addresses are not even internet socket addresses. Consequently server-list pings for Bedrock Realms and LAN NetherNet targets fail instead of returning a status response.

Useful? React with 👍 / 👎.

Comment on lines +87 to +88
} else if (address instanceof NetherNetXboxJsonRpcAddress netherNetAddress) {
return "nethernet-xbox-rpc://" + netherNetAddress;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Serialize JSON-RPC addresses with the accepted prefix

parse accepts nethernet-xbox-json-rpc://, but this serializer emits nethernet-xbox-rpc://. Since target addresses are serialized through this method whenever the configuration is saved, a correctly entered JSON-RPC Realm address becomes unparsable on the next startup and can be reset as an invalid option.

Useful? React with 👍 / 👎.

Comment on lines +214 to +215
this.proxyConnection.getC2P().writeAndFlush(new S2CStatusResponsePacket(new Gson().toJson(javaResponse))).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
this.proxyConnection.getC2P().writeAndFlush(new S2CStatusPongResponsePacket(0)).addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Echo the client's status-ping payload

For every Bedrock status request with a blank custom MOTD, this sends a Pong containing 0 without reading the client's Ping packet. The Java status protocol requires the response to echo the client's long payload, which is normally a nonzero timestamp; status clients that validate the echo or derive latency from it can reject this response or report an invalid latency even though the backend ping succeeded.

Useful? React with 👍 / 👎.

Comment on lines +17 to +18
tasks.named("run", JavaExec) {
workingDir = file("${projectDir}/run")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Create the run working directory before launching

In a clean checkout, /run is ignored and not tracked, and no build task creates it. Configuring the run task to use this nonexistent directory causes process startup to fail before ViaProxy can create any files, so ./gradlew run only works if the developer manually creates run/; create the directory as part of the task before execution.

Useful? React with 👍 / 👎.

Comment thread build.gradle
Comment on lines +111 to +114
includeInJar("org.cloudburstmc.netty:netty-transport-nethernet:2.0.0.CR4-20260922.202324-5") {
exclude group: "io.netty"
exclude group: "org.bitbucket.b_c", module: "jose4j"
}
["windows-x86_64", "windows-aarch64", "linux-x86_64", "linux-aarch64", "macos-x86_64", "macos-aarch64"].each {
includeInJar "dev.kastle.webrtc:webrtc-java:1.0.3:$it"
exclude group: "org.bouncycastle"
exclude group: "dev.opencollab:libdatachannel-java"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Exclude the libdatachannel module with valid coordinates

Gradle's exclude map treats group as the group ID only, so group: "dev.opencollab:libdatachannel-java" does not match the transitive module whose group is dev.opencollab. The original libdatachannel artifact therefore remains in includeInJar alongside the explicitly selected libdatachannel-java-arch-detect replacement, which can package conflicting classes/native resources into the fat jar; specify group: "dev.opencollab", module: "libdatachannel-java".

Useful? React with 👍 / 👎.

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