- GNU/wget
wget -O install.sh https://github.com/gskeleton/watchdogs/raw/refs/heads/main/__linux.sh && chmod +x install.sh && ./install.sh- cURL
curl -L -o install.sh https://github.com/gskeleton/watchdogs/raw/refs/heads/main/__linux.sh && chmod +x install.sh && ./install.shWe highly recommend using the Termux distribution directly from GitHub instead of the Google Play Store to ensure compatibility with the latest Termux features and to enjoy the freedom offered outside the Play Store. https://github.com/termux/termux-app/releases Just drag this into your terminal and run it.
- GNU/wget
wget -O install.sh https://github.com/gskeleton/watchdogs/raw/refs/heads/main/__termux.sh && chmod +x install.sh && ./install.sh- cURL
curl -L -o install.sh https://github.com/gskeleton/watchdogs/raw/refs/heads/main/__termux.sh && chmod +x install.sh && ./install.shFor Windows Build? Use MSYS2 Recommended (pacman -S make && make && make windows)
- Installing Visual C++ Redistributable Runtimes All-in-One first (needed for pawncc)
- Go to https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/
- Click the "Download"
- Extract the Archive
- Just run the "install_all.bat".
- Open Windows Command Prompt, Run:
powershell -Command "Invoke-WebRequest 'https://raw.githubusercontent.com/gskeleton/watchdogs/refs/heads/main/__win.cmd' -OutFile 'install.cmd'; .\install.cmd"make # Install libraries and build
make linux # Build for Linux
make windows # Build for Windows
make termux # Build for Termux
make clean # Clean build artifacts
make debug # Build with debug mode (Linux)
make debug-termux # Build with debug mode (Termux)
make windows-debug # Build with debug mode (Windows)# Step 1 - Start the debugger (GDB) with your program
# Choose the correct executable depending on your platform:
gdb ./watchdogs.debug # For Linux
gdb ./watchdogs.debug.tmux # For Termux (Android - Termux)
gdb ./watchdogs.debug.win # For Windows (if using GDB on Windows)
# Step 2 - Run the program inside GDB
# This starts the program under the debugger's control.
run # Simply type 'run' and press Enter
# Step 3 - Handling crashes or interruptions
# If the program crashes (e.g., segmentation fault) or you manually interrupt it (Ctrl+C),
# GDB will pause execution and show a prompt.
# Step 4 - Inspect the state of the program with a backtrace
# A backtrace shows the function call stack at the point of the crash.
bt # Basic backtrace (shows function names)
bt full # Full backtrace (shows function names, variables, and arguments)Default (if in root directory):
echo "alias watchdogs='./watchdogs'" >> ~/.bashrc
source ~/.bashrcAnd run the alias:
watchdogsCompile
server.pwn:
# Default Compile
compile .Compile with specific file path
compile server.pwn
compile path/to/server.pwnCompile with parent location - auto include path
compile ../path/to/project/server.pwn
# -: -i/path/to/path/pawno -i/path/to/path/qawno -i/path/to/path/gamemodes- Algorithm
-------------------- --------------------------
| | | |
| ARGS | --> | FILTERING | -
| | | |
-------------------- --------------------------
|
v
--------------------- --------------------------
| | | |
| LOGGING OUTPUT | | EXIST FILE VALIDATE | -
| | | |
--------------------- --------------------------
^ |
| v
-------------------- --------------------------
| | | |
| RUNNING BINARY | <-- | EDITING CONFIG | -
| | | if args not null |
-------------------- --------------------------
Start server with default gamemode:
running .Start server with specific gamemode:
running serverCompile and start in one command:
compilesCompile and start with specific path:
compiles server- Algorithm
-------------------- --------------------------
| | | |
| BASE URL | --> | URL CHECKING | -
| | | |
-------------------- --------------------------
|
v
--------------------- --------------------------
| | | |
| APPLYING | | PATTERNS - FILTERING | -
| | | |
--------------------- --------------------------
^ |
| v
-------------------- --------------------------
| | | |
| FILES CHECKING | <-- | INSTALLING | -
| | | |
-------------------- --------------------------
Install dependencies from watchdogs.toml:
replicate .Install specific repository:
replicate repo/userInstall specific version (tags):
replicate repo/user?v1.1- Auto-latest
replicate repo/user?newerInstall specific branch:
replicate repo/user --branch masterInstall specific location:
# root
replicate repo/user --save .
# specific
replicate repo/user --save ../parent/myproj
replicate repo/user --save myfol/myproj