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

Kick System #38

Open
8 tasks
AzaleeX opened this issue Dec 7, 2024 · 0 comments
Open
8 tasks

Kick System #38

AzaleeX opened this issue Dec 7, 2024 · 0 comments
Labels
Category: API Issues and discussions related to the software's API. Category: Core Issues related to the core functionality or main components of the software. Player in relations with the player Priority: Low Low-priority issues that can be addressed later. Type: Todo Tasks that need to be completed.

Comments

@AzaleeX
Copy link
Member

AzaleeX commented Dec 7, 2024

Summary

The goal is to implement a kick system that allows server administrators to forcefully disconnect players from the server. This system will support kicking players for specific reasons (e.g., rule violations, inactivity, etc.) and provide feedback to the kicked players with appropriate messages.

Details

Proposed System Flow

  1. Kick Command:

    • Admins should be able to kick players using the command /kick <username> [reason].
      • Username: The username of the player to be kicked.
      • Reason: An optional reason that will be sent to the player explaining why they were kicked (e.g., "Spamming," "Cheating," "Inactivity").
    • The command should be available only to authorized users (e.g., server admins or moderators).
  2. Kick Action:

    • Disconnect Player: When a player is kicked, the server will immediately disconnect them from the server.
    • Send Message: A message will be sent to the kicked player, informing them of the reason for the kick (if provided). The message will be something like:
      • "You have been kicked from the server: [reason]."
    • Broadcast Kick: Optionally, the server can notify other players (such as admins or everyone) that a player has been kicked, along with the reason.
  3. Kick List Management:

    • Maintain a kick history for tracking who was kicked, when, and why. This can be useful for reviewing the moderation process or for administrative purposes.
    • Optionally, implement a cooldown to prevent players from being kicked repeatedly in a short amount of time (e.g., avoid spamming kicks).
  4. Kick Enforcement:

    • No Reconnection: After a player is kicked, they should not be able to immediately reconnect without facing additional moderation (e.g., they could be temporarily banned, or need to wait for a cooldown period).
    • Kick Log: Keep a log of all kicks, including the player who issued the kick, the reason, and the time of the kick.
  5. Optional Features:

    • Inactivity Kicks: Implement functionality to automatically kick players who are inactive for a certain period of time (e.g., no movement or action for 30 minutes).
    • Kick for Specific Conditions: Allow the kick command to be triggered automatically based on specific conditions (e.g., player using cheats, spamming chat, etc.).
    • Temporary Kicks: Optionally, provide a feature where players can be temporarily kicked and then automatically rejoin after a set period (e.g., a 15-minute timeout).

Benefits

  • Moderation Control: Gives admins and moderators control over disruptive players, allowing them to maintain a healthy server environment.
  • Player Accountability: Kicking players for violating server rules or being inactive helps improve the server's quality of play.
  • Server Integrity: Helps maintain server integrity by removing players who are violating server rules or negatively affecting the experience of others.

Additional Considerations

  • Feedback Mechanism: Provide clear and informative messages to the kicked players, including the reason for the kick and instructions for rejoining the server if applicable.
  • Cooldown Management: Implementing a cooldown for repeated kicks to prevent misuse of the system.
  • Logging and Auditing: Ensure all kicks are logged for future reference, especially in cases of disputes or misunderstandings.

Tasks

  • Implement kick command to allow admins to kick players with an optional reason.
  • Send messages to kicked players with the reason for the kick.
  • Optionally broadcast kick to other players or admins.
  • Maintain a kick log to track the history of kicked players, including reasons and times.
  • Implement inactivity kick feature to automatically kick inactive players after a set time.
  • Implement kick cooldown to prevent players from being repeatedly kicked in a short period.
  • Ensure no immediate reconnection after being kicked, if applicable (e.g., temporary ban).
  • Test kick system to ensure kicks are performed correctly and logs are saved properly.

Impact

The kick system will allow server administrators to effectively manage and moderate the player base. It will help remove disruptive players in real-time, enhance the overall server experience, and provide admins with tools to enforce server rules and maintain a fair environment.

@AzaleeX AzaleeX added Priority: Low Low-priority issues that can be addressed later. Type: Todo Tasks that need to be completed. Category: Core Issues related to the core functionality or main components of the software. Category: API Issues and discussions related to the software's API. Player in relations with the player labels Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: API Issues and discussions related to the software's API. Category: Core Issues related to the core functionality or main components of the software. Player in relations with the player Priority: Low Low-priority issues that can be addressed later. Type: Todo Tasks that need to be completed.
Projects
None yet
Development

No branches or pull requests

1 participant