mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2026-08-15 13:04:36 +00:00
- 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.
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|