Тестовый сервер
Запускайте локальные хосты для проверки плагинов без тяжелой инфраструктуры.
В этом разделе
Другие страницы раздела:
Быстрый запуск
Для разработки подойдет 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