Тестовый сервер

Запускайте локальные хосты для проверки плагинов без тяжелой инфраструктуры.

В этом разделе

Другие страницы раздела:

Быстрый запуск

Для разработки подойдет minimal test server с in-memory миром и примерным плагином.

commands.ps1
go run ./examples/testservergo run ./cmd/basicserver

Готовый сервер

Используйте cmd/basicserver, если нужен почти production-подобный стенд с генерацией ландшафта, персистентным миром, query, логированием и демо-плагинами.

basic-server.ps1
go run ./cmd/basicserver

Добавить плагин в test server

Импортируйте экземпляр плагина в bootstrap.Config.Plugins для compile-time привязки, или зарегистрируйте фабрику и загрузите плагин через PluginNames.

host-config.go
import (	"github.com/pulse-core/Pulse/bootstrap"	"github.com/pulse-core/Pulse/core/plugin"	"github.com/pulse-core/Pulse/examples/minimalplugin")instance, err := bootstrap.New(bootstrap.Config{	// worlds, listen endpoint, status, etc.	Plugins: []plugin.Plugin{		minimalplugin.New(),	},})
plugin-factory.go
func init() {	plugin.MustRegisterFactory("minimalplugin", New)}instance, err := bootstrap.New(bootstrap.Config{	PluginNames: []string{"minimalplugin"},})

Внешний плагин-модуль

Для разработки плагина вне репозитория используйте отдельный go.mod и временную replace-ссылку на этот checkout.

external-module.ps1
mkdir myplugincd myplugingo mod init example.com/myplugingo get github.com/pulse-core/Pulsego mod edit -replace github.com/pulse-core/Pulse=../nucleus