SA-MP 0.3.7 R2-1 Server Update

  • Adds protection against hackers who spam OnPlayerConnect messages.
  • Weapon ID checking after OnPlayerWeaponShot in case the script doesn't filter it.
  • Actors now default to being invulnerable (this might be needed later for a bandaid rotation fix in the client).
  • Adds console variable 'conncookies' (int) to disable the 0.3.7 connection cookie system.
  • Adds console variable 'cookielogging' to disable logging of connection cookies requested by newly connecting players.
  • Adds SHA256_PassHash() function for hashing player passwords.

SQLite stuff:

  • The sqlite functions db_open and db_query now return indexes (starting at 1) instead of memory handles. That means the server tracks the memory handles internally and won't crash if invalid handles are used.
  • Several extra sqlite db_* functions have been added. Please see the for a full list.
  • Adds %q to format(). %q is the same as %s although the input will first be passed through sqlite's string escaping function.
  • Adds console variable 'db_logging'. Logs sqlite db_* function errors to the main server_log.
  • Adds console variable 'db_log_queries'. Logs all sqlite db_query() calls including the query string.

Server variable system (SVars):

  • The SVar system is the same as the PVars, although the variables created are server-wide, not attached to any playerid, and persist through gamemode changes.

The pawn functions intended to read console/config variables (GetServerVarAs*) have been deprecated due to a naming conflict with the SVar system. These functions will still work for the time being. Moving forward it's recommended you rename these functions as listed below:

native GetConsoleVarAsString(const varname[], buffer[], len);
native GetConsoleVarAsInt(const varname[]); 
ative GetConsoleVarAsBool(const varname[]);

Update 0.3.7 R2-1:

  • Adds null value checks to sqlite db_get*. These functions would crash on invalid rows or field names.
  • Updates SHA256_PassHash() sha256 implementation to fix a padding problem.
  • Fixes an index problem with PVars and SVars where *GetUpperIndex would return 1 when all vars had been deleted.

Download Client:

Download Server: