Skip to content

Server scripting

Server scripting surface состоит из C# SDK, server JavaScript host и Go host. Фактическая загрузка ресурсов определяется resource.toml и server config.

Полный справочник серверного JS API — Server JavaScript API.

Resource types

TypeRuntime
csharp.NET host, Varion.SDK.RuntimeHost
jsNode host; запускается автоматически для любого ресурса с type = "js" и заданным main
goGo c-shared resource host

JS-ресурсу не нужен modules = [ "js-module" ]: сервер поднимает Node-host для каждого ресурса с type = "js" и непустым main.

Entry points

RuntimeDefault main
C#<resource>.dll
JavaScriptserver/main.js
Go<resource>.dll

Events

Первым аргументом onClient всегда приходит proxy Player, а не числовой id:

javascript
varion.onClient('hello', (player, message) => {
  player.emit('hello:reply', String(message));
});
csharp
varion.OnPlayerConnect += player =>
{
    player.Emit("hello", "world");
};

Config

[config] from resource.toml is exposed as parsed JSON scalar values:

toml
[config]
debug = true
maxSlots = 40

Server JS (getResourceConfig синхронный, без await):

javascript
const cfg = varion.getResourceConfig();

Полный список методов varionServer 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.

Varion Multiplayer Platform