- This is an open store plugin for SourceMod. Stores are always something that communities keep internal. This was what I wrote for my community, but I feel like releasing it today for some reason.
- Even though it was tested for a couple of months in my servers, I've made tons of changes since then. I'm releasing this as an alpha version because it is far from being totally stable, but with your help we will be able to stablize it. I will add Updater support once this is out of alpha.
- The most recent source code is available at this project's GitHub repository: https://github.com/alongubkin/store.
- More documentation and tutorials can be found at the wiki.
- Modular and Extensible - This package is organized in modules, where each module is a different SourceMod plugin. You can extend the store, add new items or anything you can think of just by writing a new SourceMod plugins.
- Shop - Players can buy various items from the shop. The item is added to the player's inventory. Items in the shop are organized in categories.
- Inventory - The player's personal inventory, allowing for storage for all in-game items. From their inventory, players can use or equip items they own. Items in the inventory are also organized in categories.
- Loadout - Players can have multiple sets of equipped items. You can switch between the sets anytime using the loadout menu. You can have specific loadouts for different games, different in-game (TF2) classes, different in-game teams or any combination of them.
- Distributor (optional) - Every X minutes, all players that are currently connected to server get a specific amount of credits. This is highly configurable; you can change the amount of credits per map, per player count and per admin flag.
- Gifting (optional) - Players can gift other players with credits or items. You can disable this feature by disabling store-gifting.smx.
- Refund (optional) - Player can refund items they've bought for a configurable percentage of their price. You can disable this feature by disabling store-refund.smx.
- Logging - The plugin maintains full logs of all errors, warnings and information.
- Custom currency name.
- Custom chat triggers for the store main menu, shop, inventory, loadout, gifting and refund.
Just download the attached zip archive and extract to your sourcemod
folder intact. Then navigate to your configs/
directory and add the following entry in databases.cfg
Next, navigate to configs/store/sql-init-scripts
and execute store.sql
in your database.
Please note that the attached package doesn't include any items. You can download items at the 2nd post of this thread. For each item module you want to add, import the corresponding JSON file in the web panel and enable the plugin.
I have created a full installation tutorial in the wiki - Installing Store
(recommended for new users).
The store web panel, developed by Arrow768
and Bor3d Gaming
, is used to manage the items, categories and users of the store. It is also used to import JSON-based item data that comes with item modules packages.
Git repository: https://github.com/Arrow768/store-webpanel
The store isn't much without its modules, which are mostly developed by the community. There is a complete list of public modules here
The store is completely modular and extensible. Every module of the store provides APIs that you can use to extend it. All of the APIs are completely documented. Start by looking at the include files
I have created a tutorial for coding new items for the store. Take a look - Creating items for Store
Since this is still an alpha version, changes to the APIs or the database structure are completely possible.
Stores have always been something that communities kept internal, and for a good reason: it made them a lot
of money. Developers were selling store plugins for $50, $100, $150 and even $200 or more. This is the first free and open-source Store plugin for SourceMod.
I released it completely for free, when I could sell it for a lot of money like other developers.
I need your help.
If you have a community or a clan and you're making profits from this store, or if you just want to support the development of this store, please donate
. Donating will help me to continue to actively develop the store to make it better for all of us.