Server scripting
Server scripting surface состоит из C# SDK, server JavaScript host и Go host. Фактическая загрузка ресурсов определяется resource.toml и server config.
Полный справочник серверного JS API — Server JavaScript API.
Resource types
| Type | Runtime |
|---|---|
csharp | .NET host, Varion.SDK.RuntimeHost |
js | Node host; запускается автоматически для любого ресурса с type = "js" и заданным main |
go | Go c-shared resource host |
JS-ресурсу не нужен modules = [ "js-module" ]: сервер поднимает Node-host для каждого ресурса с type = "js" и непустым main.
Entry points
| Runtime | Default main |
|---|---|
| C# | <resource>.dll |
| JavaScript | server/main.js |
| Go | <resource>.dll |
Events
Первым аргументом onClient всегда приходит proxy Player, а не числовой id:
varion.onClient('hello', (player, message) => {
player.emit('hello:reply', String(message));
});varion.OnPlayerConnect += player =>
{
player.Emit("hello", "world");
};Config
[config] from resource.toml is exposed as parsed JSON scalar values:
[config]
debug = true
maxSlots = 40Server JS (getResourceConfig синхронный, без await):
const cfg = varion.getResourceConfig();Полный список методов varion — Server JavaScript API.
Source backing
Страница основана на src/scripting/CScriptRuntime.h, src/scripting/CJsScriptRuntime.h, src/scripting/CGoScriptRuntime.h, src/utils/CResourceToml.cpp, sdk/Varion.SDK/varion.cs и sdk/server-js-host/varion-server-shim.cjs.