mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2026-08-15 13:04:36 +00:00
Add server status display and protocol version upgrade handling
- Introduced a new `ServerStatusInfo` class to encapsulate server status data including MOTD, player counts, and version information. - Implemented `ServerStatusDisplay` to format and display server status information in both classic and TUI modes. - Added protocol version upgrade logic in `ProtocolHandler` to determine the highest supported protocol version for multi-version servers. - Updated translations to support new server status labels and messages. - Created `ServerStatusPanelBuilder` for TUI to visually represent server status with player information and connection details.
This commit is contained in:
parent
2f03f66f5c
commit
871305bd72
10 changed files with 954 additions and 269 deletions
30
MinecraftClient/Protocol/ServerStatusInfo.cs
Normal file
30
MinecraftClient/Protocol/ServerStatusInfo.cs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MinecraftClient.Protocol
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds the structured result of a Minecraft server status (SLP) ping,
|
||||
/// including MOTD, player counts, sample player list, version, and favicon.
|
||||
/// </summary>
|
||||
public sealed class ServerStatusInfo
|
||||
{
|
||||
public string Host { get; init; } = string.Empty;
|
||||
public int Port { get; init; }
|
||||
public string VersionName { get; init; } = string.Empty;
|
||||
public int ProtocolVersion { get; init; }
|
||||
public int ResolvedProtocol { get; set; }
|
||||
public int OnlinePlayers { get; init; }
|
||||
public int MaxPlayers { get; init; }
|
||||
public List<SamplePlayer> SamplePlayers { get; init; } = [];
|
||||
public string MotdRaw { get; init; } = string.Empty;
|
||||
public string? FaviconBase64 { get; init; }
|
||||
public long PingMs { get; init; }
|
||||
|
||||
public sealed class SamplePlayer
|
||||
{
|
||||
public string Name { get; init; } = string.Empty;
|
||||
public string Id { get; init; } = string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue