Skip to content

feat: add player login#5

Merged
ItsKev merged 9 commits intomainfrom
feat/login
Jan 19, 2026
Merged

feat: add player login#5
ItsKev merged 9 commits intomainfrom
feat/login

Conversation

@lusu007
Copy link
Contributor

@lusu007 lusu007 commented Jan 18, 2026

Pull Request

Description

Implements proper player login.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • ♻️ Refactoring
  • 📚 Documentation
  • 🔧 Chore

Related Issues

None

Testing

  • Unit tests pass
  • Manual testing completed
  • New tests added for new functionality

Checklist

  • I have performed a self-review of my own code
  • Tests have been added/updated and pass (if needed)
  • Documentation has been updated (if needed)

@lusu007 lusu007 requested a review from ItsKev January 18, 2026 18:45
@lusu007 lusu007 self-assigned this Jan 18, 2026
@lusu007 lusu007 marked this pull request as ready for review January 19, 2026 13:52
Copilot AI review requested due to automatic review settings January 19, 2026 13:52
Copy link

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.

Pull request overview

This PR implements a player login system for a Velocity proxy plugin, replacing a basic Java implementation with a comprehensive Kotlin-based solution that integrates with a gRPC player presence service.

Changes:

  • Migrated main plugin class from Java to Kotlin with proper dependency injection and lifecycle management
  • Implemented gRPC-based player presence service for login/logout operations with error handling
  • Added configurable user-facing messages via YAML configuration
  • Refactored build system to use shared convention plugins

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
velocity/src/main/kotlin/gg/grounds/GroundsPluginPlayer.kt New main plugin class with gRPC client configuration and event listener registration
velocity/src/main/kotlin/gg/grounds/presence/PlayerPresenceService.kt Service wrapper for gRPC player presence client with error handling
velocity/src/main/kotlin/gg/grounds/listener/PlayerConnectionListener.kt Event handlers for player login and disconnect with presence service integration
velocity/src/main/kotlin/gg/grounds/config/MessagesConfigLoader.kt YAML-based configuration loader for user-facing messages
velocity/src/main/kotlin/gg/grounds/config/MessagesConfig.kt Data class for message configuration with defaults
velocity/src/main/resources/messages.yml Default message templates for login errors
common/src/main/kotlin/gg/grounds/player/presence/GrpcPlayerPresenceClient.kt gRPC client implementation with timeout handling and graceful shutdown
common/src/main/kotlin/gg/grounds/player/presence/PlayerLoginResult.kt Sealed class for representing login operation results
velocity/src/main/java/gg/grounds/GroundsPluginPlayer.java Removed basic Java implementation in favor of new Kotlin version
velocity/build.gradle.kts Simplified to use convention plugins and added Jackson/gRPC dependencies
common/build.gradle.kts New build configuration with protobuf plugin and gRPC dependencies
build.gradle.kts Simplified to use shared base conventions plugin
settings.gradle.kts Updated project name and added GitHub package repository configuration
velocity/devspace.yaml Updated for new development workflow with plugin synchronization
README.md Added configuration documentation for gRPC target and messages

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lusu007 lusu007 requested a review from ItsKev January 19, 2026 19:48
@ItsKev ItsKev merged commit 62c8720 into main Jan 19, 2026
2 checks passed
@ItsKev ItsKev deleted the feat/login branch January 19, 2026 20:01
lusu007 added a commit that referenced this pull request Jan 19, 2026
* feat: implement player login

* chore: update gradle plugin to conventions plugin

* refactor: remove lots of duplicated code which is already present from player.proto

* fix: align plugin name to naming conventions

* fix: Register missing providers manually

* fix: use full kubernetes url

* fix: improve error handling

* feat: use envs for configuring plugin

* feat: use grpc-conventions plugin

---------

Co-authored-by: ItsKev <kevin.huber@hotmail.com>
lusu007 added a commit that referenced this pull request Jan 19, 2026
* feat: implement player login

* chore: update gradle plugin to conventions plugin

* refactor: remove lots of duplicated code which is already present from player.proto

* fix: align plugin name to naming conventions

* fix: Register missing providers manually

* fix: use full kubernetes url

* fix: improve error handling

* feat: use envs for configuring plugin

* feat: use grpc-conventions plugin

---------

Co-authored-by: ItsKev <kevin.huber@hotmail.com>
ItsKev added a commit that referenced this pull request Jan 19, 2026
* feat: add player login (#5)

* feat: implement player login

* chore: update gradle plugin to conventions plugin

* refactor: remove lots of duplicated code which is already present from player.proto

* fix: align plugin name to naming conventions

* fix: Register missing providers manually

* fix: use full kubernetes url

* fix: improve error handling

* feat: use envs for configuring plugin

* feat: use grpc-conventions plugin

---------

Co-authored-by: ItsKev <kevin.huber@hotmail.com>

* chore: use reusable workflow

---------

Co-authored-by: ItsKev <kevin.huber@hotmail.com>
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.

2 participants