Spynixx Client Portal
Documentation Menu
DocumentationLauncher Verification

Launcher Verification

Install and understand the built-in TCP verification flow used by Spynixx Launcher, the server filterscript, and your gamemode.

Official Server Integration Package

Download the clean package containing the launcher filterscript, Pawn includes, Windows and Linux socket plugins, installation guides, reward documentation, and troubleshooting notes.

Open GitHub Repository

Required Files

The verification system uses the following server files. Keep their paths and names unchanged unless you also update your server configuration.

FilePurpose
plugins/socket.dllWindows socket plugin.
plugins/so/socket.soLinux socket plugin; use the path required by your host.
pawno/include/socket.incPawn native declarations for the socket plugin.
pawno/include/spynixxlauncher.incShared settings plus the gamemode API, commands, and reward logic.
filterscripts/spynixxlauncher.amxCompiled TCP listener and player verification service.

How Verification Works

1. Launcher announces

Before GTA connects, the launcher sends the player name and detect token to TCP port 11020.

2. Filterscript stores it

A valid announce is held in memory for up to 120 seconds and the launcher receives OK.

3. Join is verified

On connection, the filterscript consumes one matching pending record by IP or normalized player name.

TCP packet format
ANNOUNCE:<player_name>|<detect_token>

// Example
ANNOUNCE:Yasin_Roleplay|DONTEDITTHIS
Important: The announce must arrive before the player joins. Player names containing spaces are normalized to underscores during matching.

Server Installation

  1. Place the correct socket binary in your server's plugin directory.
  2. Place socket.inc and spynixxlauncher.inc in pawno/include/ (or your compiler's include directory).
  3. Compile filterscripts/spynixxlauncher.pwn to filterscripts/spynixxlauncher.amx.
  4. Recompile gamemodes/main.pwn so the latest include and INI reward storage are embedded in gamemodes/main.amx.
  5. Load the socket plugin and filterscript in config.json.
  6. Allow inbound TCP traffic on port 11020. Your normal game port, commonly 7777, remains UDP.
config.json (relevant entries)
{
  "pawn": {
    "legacy_plugins": [
      "socket"
    ],
    "main_scripts": [
      "main"
    ],
    "side_scripts": [
      "filterscripts/spynixxlauncher"
    ]
  }
}

Gamemode Setup

Add the unified include once near the top of gamemodes/main.pwn, after the command processor it uses. The filterscript already performs detection; do not add a manual if (PlayerUsingSpynixxLauncher(playerid)) block just to activate verification or rewards.

gamemodes/main.pwn
// gamemodes/main.pwn
#include <open.mp>
#include <Pawn.CMD>
#include <spynixxlauncher>

The include supplies the status API, built-in commands, persistent reward progress, and reward callback. The filterscript calls it automatically when a verified player first spawns in the session; the include then decides whether the permanent first-use or five-hour milestone package is eligible.

Source files are not loaded at runtime: open.mp executes the compiled AMX files. After changing spynixxlauncher.inc or spynixxlauncher.pwn, replace both AMX outputs and fully restart the server.

Built-in Commands

  • /mylauncher — shows the current player's verified status.
  • /status — displays a short launcher YES/NO status.
  • /spynixxlauncher [playerid] — RCON-admin status check; defaults to the admin's own ID.

Launcher and Server Settings

The launcher's Detect TCP port must equal SPYNIXX_SOCKET_PORT, and its Detect token must equal SPYNIXX_SECRET. Defaults are port 11020 and token DONTEDITTHIS.

Startup check: The server console should show that SpynixxLauncher is listening. A socket_create failed message usually means the socket plugin was not loaded or the wrong binary was selected.