Test Server
Run lightweight test hosts while developing and validating plugin behavior.
In this section
Related section pages:
Fast Start
Use the minimal test server for quick gameplay checks. It starts quickly with a memory world and loads the sample plugin.
commands.ps1
go run ./examples/testservergo run ./cmd/basicserverReady-Made Server
Use the bundled cmd/basicserver when you need terrain persistence, player storage, query status, logging, and built-in demo plugins.
basic-server.ps1
go run ./cmd/basicserverAdding a Plugin To The Test Server
Import a plugin instance into bootstrap.Config.Plugins for direct compile-time wiring, or register a factory and load by name through 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"},})External Plugin Module
For plugin development outside this repository, use a normal go.mod flow and a local replace while testing against this 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