Skip to content

Phil25/SMAM

Repository files navigation

Build Status

SourceMod Addon Manager

SourceMod Addon Manager (SMAM) is an automatic installer for SourceMod addons (plugins or extensions).

The idea is to provide the community with automatic addon management, while at the same time not requiring developers to update their mean of distribution (AlliedModders, GitHub, or some other place). To achieve that, SMAM communicates with a web application, SMAMDB, hosted over at smamdb.net. SMAMDB is nothing more than a database holding information about where to download and install the specified addon files. SMAMDB is open source and can be viewed at its GitHub page. And, if you're interested, you may read more about it on its wiki.

Table of Contents

Features ^

SMAM is a server-side tool that allows you to, per server directory:

  • automatically install an addon,
  • automatically remove an addon,
  • browse installed addons,
  • view information about installed addons, or
  • search available addons online.

Security ^

  1. SMAM, by default, fetches information from a database available at smamdb.net. Only selected users may directly add addons. Anything submitted by the community is curated and checked according to AlliedMods forums rules (open source, etc).
  2. SMAM will prevent addons to install files anywhere outside the specified server directory (only in (mod)/addons/ and down).
  3. SMAM is not required to be run as root. If run, SMAM will stop unless specifically allowed by the user.
  4. During removal, SMAM will not remove files that are shared by other addons which have been installed through SMAM.
  5. SMAM has to know which server directory to act on. You may execute it from that directory for automatic detection, or specify it with -d option.

Installing ^

SMAM is still in development and no automatic installation is yet available. But you may download and compile the source code yourself, according to the instructions here.

Examples ^

command action
smam install tf2items install tf2items
smam remove tf2items remove tf2items
smam info view addons installed by SMAM
smam info tf2items view information about a specific addon installed by SMAM
smam install rtd install rtd and tf2attributes (its dependency)
smam install rtd --no-deps install rtd only, without tf2attributes (its dependency)
smam install tf2items -f force installing tf2items, overwrites files even if tf2items is already installed
smam install tf2items -q --log ./file.log install tf2items quietly, log output in ./file.log
smam install tf2items -d /path/to/server/ install tf2items in a specified server structure ((mod)/addons/)
smam install rtd -d [email protected]:/path/to/server/ upcoming install rtd on a remote server through ssh
smam install mytestplugin --db-url localhost:8080 install a plugin, information about which is fetched from localhost:8080

Help Menu ^

Usage:
  smam <command> [addons] [options]

Commands:
  install                              Install specified addons.
  remove                               Remove specified addons.
  search                               Search for addons.
  info                                 Get info about installed addons.

Options:
  -h [ --help ]                        Show help.
  -v [ --version ]                     Show version.
  -q [ --quiet ]                       Do not produce output.
  -f [ --force ]                       Force command execution.
  --no-prefix                          Disable prefixes in output.
  --no-color                           Disable color in output.
  --allow-running-as-root              Run SMAM even as root.
  --log arg                            Path to log file.
  -d [ --destination ] arg             Path to server.
  --db-url arg (=https://smamdb.net/)  URL of the database.

About

SourceMod Addon Manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published