Testing and debugging
Development loop
- Increase the package version.
- Validate with
samp-plugin validateand build a new.splug. - Import it through the launcher.
- Enable it and reproduce one focused scenario.
- Check plugin status, memory use, slow warnings, and logs.
Minimum test matrix
armeabi-v7aandarm64-v8a.- Fresh install and update from the previous release.
- Immediate activation and restart-required activation.
- Server connect, disconnect, reconnect, and game shutdown.
- Plugin enable, disable, unload, error fuse, rollback, and uninstall.
- Local-player death/respawn and network entity ID reuse.
- Low-memory and low-frame-rate devices when the plugin draws HUD content.
Common failures
| Symptom | Check |
|---|---|
| Load failure | Manifest, entry path, UTF-8 syntax, API requirement. |
| Permission error | Requested manifest permissions and user approval. |
| Invalid phase | Move write calls into a managed callback. |
| Stale handle | Resolve the entity again from its current generation. |
| Callback timeout | Bound loops, cache work, reduce drawing and formatting. |
| Module not found | Package-relative module name and archive path separators. |
Do not log passwords, access tokens, private messages, or private server data.