Skip to content
This repository was archived by the owner on Dec 10, 2025. It is now read-only.

Conversation

@twisti-dev
Copy link
Contributor

This pull request introduces/refactors commands and APIs to improve player management:

  • Find Command

    • Locate an online player’s current server (/find <player>).
    • Supports optional teleportation if permissions allow.
  • Send Command

    • Bulk-move players between servers or server groups (/send player <player> toServer <server>, etc.).
    • Commands parse/validate targets with new argument classes.
  • Server Command

    • Connect players to a specified server (/server <server>).
    • Permission checks for server ownership.
  • Last Seen & Playtime

    • /lastseen <player> shows the time a player was last online.
    • /playtime [player] shows total and per-server group playtime.

How to Use

  1. /find <player> – locate player; optional click-to-teleport.
  2. /send [player|all|current|server|group] [...] – move players to target server/group.
  3. /server <server> – connect to a server if authorized.
  4. /lastseen <player> and /playtime [player] – display offline info.

PR merges quickly manage players across the network.

@twisti-dev twisti-dev requested a review from Copilot April 14, 2025 16:48
@twisti-dev twisti-dev linked an issue Apr 14, 2025 that may be closed by this pull request
@twisti-dev twisti-dev self-assigned this Apr 14, 2025
@twisti-dev twisti-dev added this to the Pre-release milestone Apr 14, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 62 out of 62 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/command/connection/SilentDisconnectPlayerCommand.kt:11

  • [nitpick] Consider finalizing the command name and updating the TODO comment to reflect a clear and consistent naming convention.
fun silentDisconnectPlayerCommand() = commandTree("silentdisconnect") { // TODO: 13.04.2025 14:15 - better name

surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/command/connection/DisconnectPlayerCommand.kt:37

  • [nitpick] Consider revising the disconnect error message to use a more standardized and professional tone similar to other system messages.
error("DU WURDEST VOM NETZWERK GEWORFEN")

@twisti-dev
Copy link
Contributor Author

Closes #22

@twisti-dev twisti-dev requested a review from Copilot April 14, 2025 16:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot reviewed 62 out of 62 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/command/connection/DisconnectPlayerCommand.kt:35

  • [nitpick] The local variable 'reason' shadows the function parameter 'reason'. Consider renaming one of them for clarity, e.g., using 'finalReason' for the local variable.
val reason = reason ?: buildText {

surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/BukkitMain.kt:50

  • The variable 't' is used for error handling here without being defined in this context, which will cause a runtime error. Ensure that the proper exception variable is captured or remove this erroneous reference.
t.handleEventuallyFatalError { Bukkit.shutdown() }

@twisti-dev twisti-dev merged commit d61ed8e into master Apr 14, 2025
@twisti-dev twisti-dev deleted the 22-add-find-send-and-server-commands branch April 14, 2025 16:52
@twisti-dev twisti-dev moved this from Triage to Done in Public Bug Tracker Apr 14, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add Find, Send, and Server Commands

2 participants