跳转至

Go:服务器、刻与系统信息

函数

CurrentTick

Go
func CurrentTick() (uint64, error)

服务器的刻计数器。

TickDeltaTime

Go
func TickDeltaTime() (float64, error)

上一刻的长度,单位是秒。

PlayerCount

Go
func PlayerCount() (int32, error)

在线的玩家数。

SimPaused

Go
func SimPaused() (bool, error)

判断模拟是否暂停。

Tps

Go
func Tps(windowSeconds int32) (float64, error)

最近 windowSeconds 秒里每秒的刻数。宿主还没有测量到任何东西时会给出负数,这时返回错误,不把它当作速率。

  • 参数:
    • windowSeconds : int32
  • 返回值类型:(float64, error)
  • 对应槽位:get_tps

Mspt

Go
func Mspt(windowSeconds int32) (float64, error)

最近 windowSeconds 秒里每刻的毫秒数,规则和 Tps 一样。

  • 参数:
    • windowSeconds : int32
  • 返回值类型:(float64, error)
  • 对应槽位:get_mspt

Env

Go
func Env(name string) (string, error)

读取服务器进程的一个环境变量。

  • 参数:
    • name : string
  • 返回值类型:(string, error)
  • 对应槽位:sys_get_env

SetEnv

Go
func SetEnv(name, value string) error

设置服务器进程的一个环境变量。

  • 参数:
    • name : string
    • value : string
  • 返回值类型:error
  • 对应槽位:sys_set_env

ServerBdsVersion

Go
func ServerBdsVersion() (string, error)

读取 PIER_SRV_BDS_VERSION:取自 Common::getGameVersionString

ServerProtocolVersion

Go
func ServerProtocolVersion() (string, error)

读取 PIER_SRV_PROTOCOL_VERSION:LevelData::mNetworkVersion:最后一次写这个存档时用的协议版本。它说明存档有多旧,和服务器现在使用的协议无关。

ServerLevelProtocolVersion

Go
func ServerLevelProtocolVersion() (string, error)

读取 PIER_SRV_LEVEL_PROTOCOL_VERSION:正在运行的构建的版本号 "major.minor.patch",取自 CurrentGameSemVersion。模组可以据此自带一张版本到协议的对照表,不必等 Pier 发新版。

ServerGameSemVersion

Go
func ServerGameSemVersion() (string, error)

读取 PIER_SRV_GAME_SEM_VERSION:PIER_SRV_GAME_SEM_VERSION

SystemOsName

Go
func SystemOsName() (string, error)

读取 PIER_SYS_OS_NAME:取自 sys_utils::getSystemName

  • 返回值类型:(string, error)
  • 对应槽位:sys_info_str

SystemOsVersion

Go
func SystemOsVersion() (string, error)

读取 PIER_SYS_OS_VERSION:取自 sys_utils::getSystemVersion,返回字符串

  • 返回值类型:(string, error)
  • 对应槽位:sys_info_str

SystemLocale

Go
func SystemLocale() (string, error)

读取 PIER_SYS_LOCALE:取自 sys_utils::getSystemLocaleCode

  • 返回值类型:(string, error)
  • 对应槽位:sys_info_str

SystemLocalTime

Go
func SystemLocalTime() (string, error)

读取 PIER_SYS_LOCAL_TIME:取自 sys_utils::getLocalTime,返回 SNBT {year,month,day,hour,minute,second,ms}

  • 返回值类型:(string, error)
  • 对应槽位:sys_info_str

Srv*

名称 值 说明
SrvBdsVersion 0 即 PIER_SRV_BDS_VERSION:取自 Common::getGameVersionString
SrvProtocolVersion 1 即 PIER_SRV_PROTOCOL_VERSION:LevelData::mNetworkVersion:最后一次写这个存档时用的协议版本。它说明存档有多旧,和服务器现在使用的协议无关。
SrvLevelProtocolVersion 2 即 PIER_SRV_LEVEL_PROTOCOL_VERSION:正在运行的构建的版本号 "major.minor.patch",取自 CurrentGameSemVersion。模组可以据此自带一张版本到协议的对照表,不必等 Pier 发新版。
SrvGameSemVersion 3 即 PIER_SRV_GAME_SEM_VERSION:PIER_SRV_GAME_SEM_VERSION

Sys*

名称 值 说明
SysOsName 0 即 PIER_SYS_OS_NAME:取自 sys_utils::getSystemName
SysOsVersion 1 即 PIER_SYS_OS_VERSION:取自 sys_utils::getSystemVersion,返回字符串
SysLocale 2 即 PIER_SYS_LOCALE:取自 sys_utils::getSystemLocaleCode
SysLocalTime 3 即 PIER_SYS_LOCAL_TIME:取自 sys_utils::getLocalTime,返回 SNBT {year,month,day,hour,minute,second,ms}