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

feat: support reconnecting players to cluster #364

Merged
merged 5 commits into from
Aug 24, 2024
Merged

Conversation

jeremylvln
Copy link
Owner

Using the new transfer packets, we can now finish properly the proxy drain feature by reconnecting the players automatically when the TTL is expired.

Also, expose the method in the API if custom plugins want to re-use this capability.

Copy link

codecov bot commented Jan 26, 2024

Codecov Report

Attention: Patch coverage is 73.91304% with 6 lines in your changes missing coverage. Please review.

Project coverage is 31.68%. Comparing base (23d59b3) to head (9fb9e64).
Report is 1 commits behind head on main.

Files Patch % Lines
...lker-operator/src/reconcilers/proxy_fleet/fleet.rs 72.72% 6 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #364      +/-   ##
==========================================
+ Coverage   31.53%   31.68%   +0.14%     
==========================================
  Files          58       58              
  Lines        3117     3125       +8     
==========================================
+ Hits          983      990       +7     
- Misses       2134     2135       +1     
Flag Coverage Δ
shulker-addon-matchmaking 23.02% <ø> (+0.31%) ⬆️
shulker-crds 92.30% <ø> (ø)
shulker-operator 59.34% <73.91%> (+0.08%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...ncilers/minecraft_cluster/minecraft_server_role.rs 75.00% <ø> (ø)
...or/src/reconcilers/minecraft_cluster/proxy_role.rs 75.00% <ø> (ø)
...operator/src/reconcilers/proxy_fleet/config_map.rs 79.10% <100.00%> (+0.31%) ⬆️
...lker-operator/src/reconcilers/proxy_fleet/fleet.rs 81.25% <72.72%> (-0.30%) ⬇️

... and 1 file with indirect coverage changes

@TehNeon
Copy link

TehNeon commented Mar 26, 2024

One thing that would be nice is to have some sort of way to override the IP/Hostname it will transfer the users to. In my planned usage case I intend to be running on bare metal and utilizing an external DDoS protection provider (i.e TCPShield) which would require me to re-route the players to a specific hostname.

@jeremylvln
Copy link
Owner Author

One thing that would be nice is to have some sort of way to override the IP/Hostname it will transfer the users to. In my planned usage case I intend to be running on bare metal and utilizing an external DDoS protection provider (i.e TCPShield) which would require me to re-route the players to a specific hostname.

This would be a nice addition, indeed!

@CronixZero
Copy link

What implications would this have for Minigame Servers? Would all players be reconnected and sent to the Lobby while in-game?

@jeremylvln jeremylvln force-pushed the feat/transfer-player branch from d9b2141 to ca6257a Compare August 23, 2024 21:31
@jeremylvln jeremylvln marked this pull request as ready for review August 23, 2024 21:31
@jeremylvln jeremylvln force-pushed the feat/transfer-player branch 2 times, most recently from 94ef4ba to 7166891 Compare August 23, 2024 21:46
@jeremylvln jeremylvln enabled auto-merge (squash) August 23, 2024 21:46
@jeremylvln jeremylvln force-pushed the feat/transfer-player branch from 7166891 to ca9b7ba Compare August 24, 2024 09:49
@jeremylvln jeremylvln force-pushed the feat/transfer-player branch from ca9b7ba to 9fb9e64 Compare August 24, 2024 09:58
@jeremylvln jeremylvln self-assigned this Aug 24, 2024
@jeremylvln jeremylvln merged commit 1a2266e into main Aug 24, 2024
12 checks passed
@jeremylvln jeremylvln deleted the feat/transfer-player branch August 24, 2024 10:05
jeremylvln pushed a commit that referenced this pull request Aug 24, 2024
## [0.9.0](v0.8.1...v0.9.0) (2024-08-24)

### ⚠ BREAKING CHANGES

* upgrade all workspace (#618)

### ✨ Features ✨

* **shulker-crds:** specify scale subresource for ProxyFleet and MinecraftServerFleet ([#623](#623)) ([569e010](569e010))
* support reconnecting players to cluster ([#364](#364)) ([1a2266e](1a2266e))
* upgrade all workspace ([#618](#618)) ([6a34b62](6a34b62))

### 🐛 Bug Fixes 🐛

* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.38.0 ([#545](#545)) ([d5e1ad0](d5e1ad0))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.39.0 ([#547](#547)) ([d786cb6](d786cb6))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.39.1 ([#561](#561)) ([b0745b4](b0745b4))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.40.0 ([#580](#580)) ([469fb17](469fb17))
* **deps:** update dependency com.google.api.grpc:proto-google-common-protos to v2.42.0 ([#620](#620)) ([f13cd98](f13cd98))
* **deps:** update dependency com.google.guava:guava to v33.1.0-jre ([#500](#500)) ([d865881](d865881))
* **deps:** update dependency com.google.guava:guava to v33.2.0-jre ([#546](#546)) ([bfbb4aa](bfbb4aa))
* **deps:** update dependency com.google.guava:guava to v33.2.1-android ([#577](#577)) ([c0858d9](c0858d9))
* **deps:** update dependency com.google.guava:guava to v33.2.1-jre ([#578](#578)) ([2a3a7b9](2a3a7b9))
* **deps:** update dependency com.google.protobuf:protobuf-java to v3.25.4 ([#619](#619)) ([266a85e](266a85e))
* **deps:** update dependency net.kyori:adventure-api to v4.17.0 ([#556](#556)) ([52e3b0e](52e3b0e))
* **deps:** update dependency net.kyori:adventure-platform-bungeecord to v4.3.3 ([#582](#582)) ([05e3471](05e3471))
* **deps:** update dependency redis.clients:jedis to v5.1.3 ([#568](#568)) ([90745de](90745de))
* **deps:** update fabric8-kubernetes-client monorepo to v6.12.1 ([#548](#548)) ([dfc3b98](dfc3b98))
* **deps:** update fabric8-kubernetes-client monorepo to v6.13.0 ([#576](#576)) ([a9a13d7](a9a13d7))
* **deps:** update grpc-java monorepo to v1.63.0 ([#549](#549)) ([c45fea4](c45fea4))
* **deps:** update grpc-java monorepo to v1.64.0 ([#560](#560)) ([f714fe1](f714fe1))

### 📚 Documentation 📚

* add search ([#616](#616)) ([9a6813b](9a6813b))
* change "Mounting volumes" example text ([#526](#526)) ([f271222](f271222))
* fix Mincraft typo ([#527](#527)) ([875de67](875de67))
Copy link

🎉 This issue has been resolved in version 0.9.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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