Skip to content

Releases: NullSablex/env-samp

Release list

v1.0.0

Choose a tag to compare

@NullSablex NullSablex released this 25 May 22:17
bc627bd

env_samp v1.0.0

Built on top of rust-samp v3.0.0.

Artifacts

  • env_samp.so — Linux i686 (i686-unknown-linux-gnu).
  • env_samp.dll — Windows i686 (i686-pc-windows-msvc).
  • env_samp.inc — Pawn include, identical file for SA-MP and Open Multiplayer.

Compatibility

The binaries are universal: they run on SA-MP and on Open Multiplayer, on Linux and Windows alike.

  • SA-MP: drop the binary into plugins/ and register it under plugins= in server.cfg.
  • Open Multiplayer (native mode, recommended): drop the binary into the server's components/ folder. It is loaded automatically via ComponentEntryPoint, with access to ICore, ITimersComponent and the remaining native APIs. No config.json entry is required.
  • Open Multiplayer (legacy mode): drop the binary into plugins/ and declare it under pawn.legacy_plugins in config.json. Same binary, no extra build flags.

Changelog

Initial public release. Built on top of rust-samp v3.0.0. The same .so / .dll loads on SA-MP and on Open Multiplayer (native component or legacy mode).

Added

  • Universal binary. A single artifact runs on SA-MP and on Open Multiplayer. Open Multiplayer auto-loads it as a native component when dropped into the components/ folder (no config.json entry needed — the folder itself is the registration), or in legacy mode when dropped into plugins/ and declared under pawn.legacy_plugins in config.json.
  • Natives Env(key, dest, type, dest_len) and EnvCount() covering ENV_STRING, ENV_INT, ENV_FLOAT and ENV_BOOL. Unknown type values fall back to ENV_STRING with a warning.
  • .env parser with single/double quoting, escape sequences (\n, \r, \t, \\, \"), inline # comments (require preceding whitespace), export skip, BOM stripping and duplicate-key "last wins" semantics.
  • ENV_SAMP_VERSION constant in env_samp.inc — string with the plugin version, auto-generated from CARGO_PKG_VERSION by build.rs.
  • Logger with banner and detailed log file at logs/env.log. Configurable level (0–4); values are never logged.
  • Hard limit of 1 MiB on the .env file size — rejected with a warning if exceeded.
  • MkDocs Material documentation site published at https://env-samp.nullsablex.com/.
  • CI: build/test/clippy/fmt/audit/coverage jobs (.github/workflows/rust.yml), release workflow with tag-vs-Cargo.toml sanity check and auto-extracted changelog section (.github/workflows/release.yml), MkDocs strict build + GitHub Pages deploy (.github/workflows/docs.yml).

Security

  • The .env is read once at startup. No runtime reload.
  • Values are never logged. Only error/warning messages about the file itself are emitted.
  • Distributed under the GNU Affero General Public License v3.0 or later — modifications used on servers accessible over the network must have their source offered to the users interacting with that instance.

v0.1.0

Choose a tag to compare

@NullSablex NullSablex released this 17 Feb 14:46
44a5dea