Skip to content

Testing and debugging

Development loop

  1. Increase the package version.
  2. Validate with samp-plugin validate and build a new .splug.
  3. Import it through the launcher.
  4. Enable it and reproduce one focused scenario.
  5. Check plugin status, memory use, slow warnings, and logs.

Minimum test matrix

  • armeabi-v7a and arm64-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

SymptomCheck
Load failureManifest, entry path, UTF-8 syntax, API requirement.
Permission errorRequested manifest permissions and user approval.
Invalid phaseMove write calls into a managed callback.
Stale handleResolve the entity again from its current generation.
Callback timeoutBound loops, cache work, reduce drawing and formatting.
Module not foundPackage-relative module name and archive path separators.

Do not log passwords, access tokens, private messages, or private server data.