Zeex - Foundation-PAWN/Foundation-Resources GitHub Wiki
crashdetect
This plugin detects when a SA-MP server crashes due to some unhandled exception and prints a stack trace along with other debugging information that can help locate and fix the issue. Additionally it detects runtime errors that occur in the Pawn virtual machine (AMX).
Made with: C++, CMake, CTest
JIT
An implementation of a just-in-time (JIT) compiler for the Pawn programming language, which is used for scripting in SA-MP.
Basically this plugin replaces the default VM interpreter with its own function that compiles Pawn bytecode (P-code) into native machine code at runtime and executes it. This can speed up the script execution significantly.
Made with: C++, x86 assembly, asmjit, CMake, CTest
Profiler
Profiler allows a script developer to measure how much time is spent in each function of a script and helps analyze and optimize the code based on provided results.
It’s an instrumentation based profiler that records the start and end time of function calls by hooking into their code. Profiling statistics is saved as a table of all funcion calls groyped by function name. It can be configured to additionally generate a graph of all function calls it was able to record where nodes are colored depending on their “hotness”.
Made with: C++, CMake
sampgdk
GDK is a library that provides a C/C++ API for writing scripts (gamemodes) for SA-MP via plugins. It’s essentially a glue between the native plugin code and the Pawn language scripting APIs provided by the server.
Made with: C, C++, CMake, Python, Python Lex-Yacc (PLY)
amx_assembly
Some interesting low-level hacks that one can do with the AMX assembly language in SA-MP: reading/writing arbitrary memory outside of the VM, executing native assembly code and more.
Made with: Pawn
rcon
A re-implementation of the rcon.exe program (remote server console software) that comes with SA-MP. It’s a CLI program that can be used to send RCON commands to a SA-MP server via UDP. Unlike rcon.exe it’s cross-platform, so in addition to Windows it also works on Linux and macOS.
Made with: C++, Boost