Skip to content

Repository files navigation

pawnserver

Maturity: experimental

pawnserver packages and operates SA-MP and open.mp server installations. A bundle records the server binary, AMX entry points, native extensions, configuration, checksums, and files that must survive an update.

Install

Download a release archive or install from source:

go install github.com/pawnkit/pawnserver/cmd/pawnserver@latest
pawnserver --version

Release archives are available for Linux, macOS, and Windows on amd64 and arm64.

PawnKit's tested server set pins the supported archives and checksums: server-preview-2026-08-03 in pawnkit-spec v0.1.137. It covers the pawnserver v0.7.2 release on Linux, Windows, and macOS. RFC 0020 runtime indexes separately pin clean upstream server downloads. Isolated open.mp sessions can stage verified plugins, components, and filterscripts without changing the shared runtime cache.

Build and inspect a bundle

Prepare a directory containing pawn-bundle.json and every declared file:

pawnserver verify ./release
pawnserver pack ./release game.pawnbundle
pawnserver inspect game.pawnbundle

Packing is deterministic and refuses to write the archive inside its source directory. Verification accepts either a directory or a .pawnbundle archive.

Install and update

Install and update are plan-only unless --apply is present:

pawnserver install game.pawnbundle ./server
pawnserver install --apply game.pawnbundle ./server
pawnserver update --apply next.pawnbundle ./server
pawnserver rollback ./server

An update keeps the previous installation at ./server.rollback. Paths listed under persistence.paths are copied into the staged update before it replaces the current installation.

Operate an installation

pawnserver doctor ./server
pawnserver configure ./server
pawnserver run ./server
pawnserver export-container ./server Dockerfile

configure prints the declared configuration path and schema. run executes the verified server binary directly without a shell. Container export defaults to FROM scratch; pass --base debian:bookworm-slim when the server needs a runtime image.

See the operator guide, bundle format, and compatibility policy.

Contributing

Operator feedback and small archive fixtures are welcome. See CONTRIBUTING.md.

About

Reproducible bundle and server lifecycle tooling

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages