Server Properties Feature
Server Properties Viewer
Feature Added
A new Server Properties page has been added to the Public UI that displays the Minecraft Bedrock server's server.properties file in a read-only, organized format.
Files Created/Modified
New Files
MCBDS.API\Controllers\ServerPropertiesController.cs
- API endpoint to read and parse server.properties
- Categorizes properties for easier viewing
- Provides descriptions for known properties
MCBDS.PublicUI\Components\Pages\ServerProperties.razor
- Blazor page to display server properties
- Accordion-style grouped by category
- Visual indicators for boolean and numeric values
Modified Files
MCBDS.ClientUI\MCBDS.ClientUI.Shared\Services\BedrockApiService.cs
- Added
GetServerPropertiesAsync()method - Added response DTOs
- Added
MCBDS.PublicUI\Components\Layout\NavMenu.razor
- Added navigation link to Server Properties page
UI Features
Accordion Categories
Properties are grouped into logical categories:
- Server - Server name, ports, visibility
- Gameplay - Game mode, difficulty, cheats
- World - Level name, seed
- Players & Permissions - Authentication, allowlist
- Performance - View distance, threads, tick distance
- Network - Compression, packet limiting
- Anti-Cheat - Server authoritative settings
- Client - Texture packs, skins, chunk generation
- Miscellaneous - Chat, logging, other settings
Visual Indicators
- Boolean values:
-
true(green badge) -
false(gray badge)
-
- Numeric values: Blue badge
- Empty values: Italic "(empty)" text
- String values: Plain text
Property Details
Each property shows:
- Key name (monospace code format)
- Current value
- Description (if available)
API Endpoint
GET /api/serverproperties
Returns the server.properties content parsed and categorized.
Response:
{
"path": "C:\\Binaries\\BDS\\server.properties",
"lastModified": "2024-01-15T14:30:00",
"totalProperties": 35,
"categories": [
{
"category": "Server",
"properties": [
{
"key": "server-name",
"value": "Dedicated Server",
"description": "The server name shown in the in-game server list",
"category": "Server"
}
]
}
]
}
Path Resolution
The API finds server.properties by:
- Using
Runner:ExePathconfiguration to locate the bedrock server directory - Looking for
server.propertiesin that directory
Page Layout
Server Properties
View the current Minecraft Bedrock server config
35 properties from C:\...\server.properties
Last modified: 1/15/2024 2:30 PM [ Refresh]
Read-Only View - Edit file directly to change
Server [4]
Property Value Desc
server-name Dedicated Server Name...
server-port 19132 IPv4...
max-players 10 Max...
Gameplay [4]
gamemode survival ...
difficulty easy ...
allow-cheats false ...
World [2]
Players & Permissions [3]
...
Read-Only Design
This page is intentionally read-only because:
- Modifying server.properties requires a server restart
- Some settings only apply at world creation
- Incorrect values could break the server
- Direct file editing is safer for configuration
To modify settings:
- Stop the Bedrock server
- Edit
server.propertiesdirectly - Restart the server
Or use the Commands page for runtime changes:
changesetting difficulty hardchangesetting allow-cheats true
Testing
- Start the API with Aspire
- Navigate to Public UI
- Click "Server Properties" in nav menu
- Verify properties load correctly
- Click category headers to expand/collapse
- Click "Refresh" to reload
Status
- Build: Successful
- API: Created
- UI: Created
- Navigation: Added
- Ready for: Use
The Server Properties viewer is now available in the Public UI!