MSLX Documentation

website·Indexed 31 days ago

https://mslx.mslmc.cn/

Documentation for MSLX, a server management tool developed by the MSL team. It features a web-based control panel, daemon process for server hosting, and support for Java and Bedrock editions of Minecraft. The docs cover installation on Windows, macOS, Docker, and FnOS, as well as configuration for remote access, multi-node connections, Frp internal network penetration, and SDK v1.7 integration for plugin development.

Tokens
22.7K
Snippets
74
Records
176
Agent score
52%

What's inside MSLX

  1. Overview of MSL Skin authentication and skin service

    MSL Skin is a Minecraft skin site based on Blessing Skin that provides skin management and authentication services via a Yggdrasil API. It integrates with the MSL User System, meaning users log in using a unified MSL account. Key benefits include: single-sign-on (no need for /login commands in-game), built-in skin support without additional patches, and secure account control to prevent username spoofing and bot attacks. Note that MSL Skin provides authentication and skins, but does not provide the actual multiplayer hosting/connection service.
  2. Overview of MSLX Server Management Tool

    MSLX is a cross-platform Minecraft server management tool developed by MSLTeam. It is built on .NET Core 10.0 and supports Windows, macOS, and Linux. Unlike its predecessor (MSL), MSLX uses a decoupled frontend/backend architecture to enable remote server management.
  3. Overview of the MSLX Global Event Hooks System

    Starting from MSLX v1.6.4, the SDK provides a global event bus via SDK.MSLX.Events. Plugins can use this to monitor the lifecycle of Minecraft servers, backup systems, scheduled tasks, FRP tunnels, and host daemons without modifying host code.

    Memory Leak Prevention: MSLX plugins run in a separate AssemblyLoadContext. The host plugin manager automatically removes all event listeners registered by a plugin when it is unloaded, meaning developers do not need to manually unsubscribe from events in the plugin's lifecycle to prevent memory leaks.

    using MSLX.SDK;
    using MSLX.SDK.Events;
    
    public class MyPlugin : IPlugin
    {
        public void OnLoad()
        {
            // Example: Listen for backup completion
            SDK.MSLX.Events.OnBackupCompleted += (sender, e) =>
            {
                SDK.MSLX.Logger.Info($"[Backup Notification] Instance {e.InstanceId} completed: {e.BackupFileName}");
            };
        }
    }
  4. Overview of MSLX Scheduled Tasks

    MSLX supports scheduled tasks based on Cron expressions. Supported task types include starting, stopping, and restarting the server, creating archives/backups, and sending commands. The system supports both interval-based tasks (e.g., every 10 minutes) and periodic tasks (e.g., every Monday at 3 AM).
  5. Manage server instances in MSLX

    MSLX provides a server instance settings interface designed based on the MSL server operation window logic. Note that certain features, such as backups and external login, are currently not yet implemented.
  6. Inject components into Instance Console and Settings slots

    Several slots are available for the Instance Console and its settings sidebar:

    • instance-console-overview-bottom: Injects a component below the player card in the Instance Console. Props: serverId (Number, required), status (Number, default 0).
    • instance-setting-more: Injects a component into the 'More Functions' section of Instance Settings. Props: serverId (Number, required).
    • instance-settings-tab: Adds a custom tab to the bottom of the Instance Settings sidebar. Requires label (string) and icon (TDesign icon or string/emoji). Props: serverId (Number, required), instanceId (Number, required). Emits: success, saved.
    // Example for instance-settings-tab
    {
      slot: 'instance-settings-tab',
      component: InstanceSettingsPluginTab,
      label: 'Plugin Config',
      icon: SettingIcon,
    }
  7. MSL Server Mirror API Overview

    The MSL Server Mirror API provides access to a synchronized system of Minecraft server software mirrors.

    API Base URL: https://api.mslmc.cn/v4

    General Response Format:

    {
      "code": 200,
      "message": "",
      "data": ""
    }

    Usage Constraints:

    • QPS Limits: 20 QPS for Mainland China; 100 QPS for overseas (including HK, Macau, Taiwan).
    • User-Agent: Requests must include a User-Agent containing the name of the application using the API.
    • Integration Requirements: If integrating this service into software, you must state 'This service is provided by MSL Launcher' (本服务由MSL开服器提供) and include the MSL Logo and official website link.
    • High Volume Usage: For high-traffic applications, contact support@mslmc.net with your application's User-Agent.
  8. Understand MSLX Architecture and Remote Management

    MSLX utilizes a decoupled architecture consisting of two main components:

    1. Daemon: The backend process responsible for managing the actual server.
    2. Web Console / Desktop Client: The frontend interface used to control the Daemon.

    This separation allows users to manage their servers remotely by connecting a Web Console or Desktop Client to a remote Daemon instance.

  9. Monitor server resource status in MSLX

    MSLX v0.2.2-alpha introduces resource monitoring charts to track server performance. These charts are available in two locations: the main Dashboard (Home page) and the specific Server Instance Control console page.
  10. MSLX Project Overview

    MSLX is a next-generation Minecraft server deployment tool developed by MSLTeam. It is built on .NET Core 8.0 and features a decoupled frontend-backend architecture. The tool is designed for cross-platform compatibility, supporting Windows, macOS, and Linux for both the backend and the available frontend interfaces (Web Console and a planned Desktop Client). Key features include a low-barrier UI design and remote access capabilities.
  11. Extend MSLX functionality using the Plugin System

    MSLX V1.4 introduced a new plugin system that allows users to install additional features to enhance the server management experience. A dedicated plugin development platform and documentation are available for developers to create new plugins.