服务器
所有服务器
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerManager
{
public IReadOnlyDictionary<string, ServerBase> Servers
}
serein.servers
- 类型
{ [id: string]: ServerBase }
添加服务器配置
效果与添加服务器相同
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerManager
{
public ServerBase Add(string id, Configuration configuration);
}
serein.servers.add(id: string, configuration: Configuration): ServerBase
参数 | 类型 | 说明 |
---|---|---|
id | string | 服务器Id |
configuration | Configuration | 配置 |
删除服务器配置
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerManager
{
public bool Remove(string id);
}
参数 | 类型 | 说明 |
---|---|---|
id | string | 服务器Id |
- 类型
bool
- 删除成功返回
true
,否则返回false
- 删除成功返回
serein.servers.remove(id: string): boolean
参数 | 类型 | 说明 |
---|---|---|
id | string | 服务器Id |
- 类型
boolean
- 删除成功返回
true
,否则返回false
- 删除成功返回
注意
尝试删除正在运行的服务器时会抛出异常
获取指定的服务器
- C#
- JavaScript
示例
var server = serverManager.Servers["bds"];
serein.servers[id]: ServerBase
示例
const server = serein.servers['bds'];
服务器状态
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public bool Status { get; }
}
serein.servers[id].status
- 类型
boolean
服务器进程ID
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public int? Pid { get; }
}
serein.servers[id].pid
- 类型
number
|null
- 服务器不在运行时为
null
- 服务器不在运行时为
服务器信息
- C#
- JavaScript
using Serein.Core.Models.Server;
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public IServerInfo Info { get; }
}
- 类型
serein.servers[id].info
- 类型
开启服务器
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public void Start();
}
serein.servers[id].start(): void
- 若服务器已在运行或启动失败(文件不存在、权限不足等)则会报错,可用
try...catch
捕获
关闭服务器
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public void Stop();
}
serein.servers[id].stop(): void
- 若服务器已关闭则会报错,可用
try...catch
捕获 - 实质上是向服务器发送关闭命令(默认为
stop
) - 当配置中的关服命令项为空时会尝试发送
^C
[仅Windows平台] [除Serein.Cli外]
强制关闭服务器
- C#
- JavaScript
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public void Terminate();
}
serein.servers[id].terminate(): void
- 若服务器已关闭或强制结束失败(系统原因)则会报错,可用
try...catch
捕获
输入到服务器
- C#
- JavaScript
using Serein.Core.Utils;
namespace Serein.Core.Services.Servers;
public partial class ServerBase
{
public void Input(string command);
}
serein.servers[id].input(line: string): void
参数 | 类型 | 说明 |
---|---|---|
line | string | 输入行 |
示例
serein.servers['bds'].input('help');
- 若服务器已关闭或输入失败(系统原因)则会报错,可用
try...catch
捕获