跳到主要内容
版本:2.x

服务器

所有服务器

namespace Serein.Core.Services.Servers;

public partial class ServerManager
{
public IReadOnlyDictionary<string, ServerBase> Servers
}

添加服务器配置

效果与添加服务器相同

namespace Serein.Core.Services.Servers;

public partial class ServerManager
{
public ServerBase Add(string id, Configuration configuration);
}
参数类型说明
idstring服务器Id
configurationConfiguration配置

删除服务器配置

namespace Serein.Core.Services.Servers;

public partial class ServerManager
{
public bool Remove(string id);
}
参数类型说明
idstring服务器Id
  • 类型
    • bool
      • 删除成功返回true,否则返回false
注意

尝试删除正在运行的服务器时会抛出异常

获取指定的服务器

示例
var server = serverManager.Servers["bds"];

服务器状态

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public bool Status { get; }
}

服务器进程ID

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public int? Pid { get; }
}

服务器信息

using Serein.Core.Models.Server;

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public IServerInfo Info { get; }
}

开启服务器

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public void Start();
}
  • 若服务器已在运行或启动失败(文件不存在、权限不足等)则会报错,可用try...catch捕获

关闭服务器

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public void Stop();
}
  • 若服务器已关闭则会报错,可用try...catch捕获
  • 实质上是向服务器发送关闭命令(默认为stop
  • 当配置中的关服命令项为空时会尝试发送^C [仅Windows平台] [除Serein.Cli外]

强制关闭服务器

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public void Terminate();
}
  • 若服务器已关闭或强制结束失败(系统原因)则会报错,可用try...catch捕获

输入到服务器

using Serein.Core.Utils;

namespace Serein.Core.Services.Servers;

public partial class ServerBase
{
public void Input(string command);
}
  • 若服务器已关闭或输入失败(系统原因)则会报错,可用try...catch捕获