
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://travis-ci.org/Southclaws/sampctl.svg?branch=master](https://travis-ci.org/Southclaws/sampctl) https://goreportcard.com/badge/github.com/Southclaws/sampctl](https://goreportcard.com/report/github.com/Southclaws/sampctl) 
!sampctl-logo
The Swiss Army Knife of SA:MP - vital tools for any server owner or library maintainer.
sampctl is a command-line development tool for developing SA:MP Pawn scripts. It includes a package manager, a build tool and a configuration manager.
If that sentence meant nothing to you, don't worry! You'll probably find use in sampctl if you do anything related to the Pawn language. Below are some explanations of what the terms in bold above mean.
.inc files from solidfiles...https://github.com/Southclaws/sampctl/wiki/Quick-Overview
As mentioned above, sampctl is a command-line development tool so it has no graphical user interface. The videos below show sampctl being used with https://code.visualstudio.com which is a light-weight text editor that works very well with sampctl to provide the perfect SA:MP/Pawn development environment.
Always have the libraries you need. Inspired by npm.
!images/sampctl-package-ensure.gif
Use on the command-line or integrate with any editor.
!images/sampctl-package-build-vscode.gif
Easily write and run tests for libraries or quickly run arbitrary code. Utilise the power of Docker to run on any platform!
!images/sampctl-package-run-container.gif
Quickly bootstrap new packages.
!images/sampctl-package-init.gif
server.cfgManage your server settings in JSON or YAML format
!images/sampctl-server-init.gif
Run the server from sampctl and let it worry about restarting in case of
crashes.
!images/sampctl-server-run.gif
Automatically download Windows/Linux server ***aries and plugins when and where you need them.
!images/sampctl-server-ensure.gif
Installation is simple and fast on all platforms so why not give sampctl a try?
https://github.com/Southclaws/sampctl#sampctl-1
https://github.com/Southclaws/sampctl/wiki.
sampctl is designed for both development of gamemodes/libraries and management of live servers.
Below is a quick overview of the best features that will help you develop faster.
If you've used platforms like NodeJS, Python, Go, Ruby, etc you know how useful tools like npm, pip, gem are.
It's about time Pawn had the same tool.
sampctl provides a simple and intuitive way to declare what includes your project needs. After that you simply let sampctl take care of the downloading and building.
If you release scripts, you know it's awkward to test even simple code. You need to set up a server, compile the include into a gamemode, configure the server and run it.
Forget all that. Just make a
https://github.com/Southclaws/sampctl/wiki/Package-Definition-Reference
in your project directory with sampctl package init and use
sampctl package install to get the includes you need:
json{ "entry": "test.pwn", "output": "test.amx", "dependencies": ["sampctl/samp-stdlib", "Southclaws/formatex"] }
Write your quick test code:
pawn#include <a_samp> #include <formatex> main() { new str[128]; formatex(str, sizeof str, "My favourite vehicle is: '%v'!", 400); // should print "Landstalker" print(str); }
Build with sampctl package build and run it with sampctl package run!
bashsampctl package run Server Plugins -------------- Loaded 0 plugins. Started server on port: 7777, with maxplayers: 50 lanmode is OFF. Filterscripts --------------- Loaded 0 filterscripts. My favourite vehicle is: 'Landstalker'!
You get the compiler output and the server output without ever needing to:
https://github.com/Southclaws/sampctl/wiki/Packages
Use JSON or YAML to write your server config:
json{ "gamemodes": ["rivershell"], "plugins": ["maddinat0r/sscanf"], "rcon_password": "test", "port": 8080 }
It compiles to this:
confgamemode0 rivershell plugins sscanf.so rcon_password test port 8080 (... and the rest of the settings which have default values)
What also happens here is maddinat0r/sscanf tells sampctl to automatically get
the latest sscanf plugin and place the .so or .dll file into the plugins/
directory.
https://github.com/Southclaws/sampctl/wiki/Runtime-Configuration-Reference
sampctl1.8.3 - Southclaws <***>
The Swiss Army Knife of SA:MP - vital tools for any server owner or library maintainer.
sampctl serverUsage: sampctl server <subcommand>
For managing servers and runtime configurations.
Subcommands (4)
sampctl server initUsage: sampctl server init
Bootstrap a new SA:MP server and generates a samp.json/samp.yaml configuration based on user input. If gamemodes, filterscripts or plugins directories are present, you will be pro***ed to select relevant files.
Flags
--verbose: output all detailed information - useful for debugging--version value: the SA:MP server version to use (default: "0.3.7")--dir value: working directory for the server - by default, uses the current directory (default: ".")sampctl server downloadUsage: sampctl server download
Downloads the files necessary to run a SA:MP server to the current directory (unless --dir specified). Will download the latest stable (non RC) server version unless --version is specified.
Flags
--verbose: output all detailed information - useful for debugging--version value: the SA:MP server version to use (default: "0.3.7")--dir value: working directory for the server - by default, uses the current directory (default: ".")sampctl server ensureUsage: sampctl server ensure
Ensures the server environment is representative of the configuration specified in samp.json/samp.yaml - downloads server ***aries and plugin files if necessary and generates a server.cfg file.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the server - by default, uses the current directory (default: ".")--noCache --forceEnsure: forces download of plugins if --forceEnsure is setsampctl server runUsage: sampctl server run
Generates a server.cfg file based on the configuration inside samp.json/samp.yaml then executes the server process and automatically restarts it on crashes.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the server - by default, uses the current directory (default: ".")--container: starts the server as a Linux container instead of running it in the current directory--mountCache --container: if --container is set, mounts the local cache directory inside the container--noCache: forces download of pluginssampctl packageUsage: sampctl package <subcommand>
For managing Pawn packages such as gamemodes and libraries.
Subcommands (9)
sampctl package initUsage: sampctl package init
Helper tool to bootstrap a new package or turn an existing project into a package.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the project - by default, uses the current directory (default: ".")sampctl package ensureUsage: sampctl package ensure
Ensures dependencies are up to date based on the dependencies field in pawn.json/pawn.yaml.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the project - by default, uses the current directory (default: ".")sampctl package installUsage: sampctl package install [package definition]
Installs a new package by adding it to the dependencies field in pawn.json/pawn.yaml and downloads the contents.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the project - by default, uses the current directory (default: ".")--dev: for specifying dependencies only necessary for development or testing of the packagesampctl package uninstallUsage: sampctl package uninstall [package definition]
Uninstalls package by removing it from the dependencies field in pawn.json/pawn.yaml and deletes the contents.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the project - by default, uses the current directory (default: ".")--dev: for specifying dependencies only necessary for development or testing of the packagesampctl package releaseUsage: sampctl package release
Creates a release version and tags the repository with the next version number, creates a GitHub release with archived package files.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the project - by default, uses the current directory (default: ".")sampctl package getUsage: sampctl package get [package definition] (target path)
Clones a GitHub package to either a directory named after the repo or, if the cwd is e***y, the cwd and then ensures the package.
Flags
--verbose: output all detailed information - useful for debuggingsampctl package buildUsage: sampctl package build [build name]
Builds a package defined by a pawn.json/pawn.yaml file.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the project - by default, uses the current directory (default: ".")--forceEnsure: forces dependency ensure before build--dryRun: does not run the build but outputs the command necessary to do so--watch: keeps sampctl running and triggers builds whenever source files change--buildFile value: declares a file to store the incrementing build number for easy versioning--relativePaths: force compiler output to use relative paths instead of absolutesampctl package runUsage: sampctl package run
Compiles and runs a package defined by a pawn.json/pawn.yaml file.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the server - by default, uses the current directory (default: ".")--container: starts the server as a Linux container instead of running it in the current directory--build --forceBuild: build configuration to use if --forceBuild is set--forceBuild: forces a build to run before executing the server--forceEnsure --forceBuild: forces dependency ensure before build if --forceBuild is set--noCache --forceEnsure: forces download of plugins if --forceEnsure is set--watch: keeps sampctl running and triggers builds whenever source files change--buildFile value: declares a file to store the incrementing build number for easy versioning--relativePaths: force compiler output to use relative paths instead of absolutesampctl package templateUsage: sampctl package template <subcommand>
Provides commands for package templates
Subcommands (3)
sampctl package template makeUsage: sampctl package template make [name]
Creates a template package from the current directory if it is a package.
Flags
--verbose: output all detailed information - useful for debugging--dir value: working directory for the package - by default, uses the current directory (default: ".")sampctl package template buildUsage: sampctl package template build [template] [filename]
Builds the specified file in the context of the given template.
Flags
--verbose: output all detailed information - useful for debuggingsampctl package template runUsage: sampctl package template run [template] [filename]
Builds and runs the specified file in the context of the given template.
Flags
--verbose: output all detailed information - useful for debugging--version value: the SA:MP server version to use (default: "0.3.7")--mode value: runtime mode, one of: server, main, y_testing (default: "main")sampctl versionShow version number - this is also the version of the container image that will be used for --container runtimes.
sampctl completionoutput bash autocomplete code
sampctl docsUsage: sampctl docs > documentation.md
Generate documentation in markdown format and print to standard out.
sampctl helpUsage: Shows a list of commands or help for one command
--verbose: output all detailed information - useful for debugging--help, -h: show help--appVersion, -V: sampctl version您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务