Skip to content
A server manager written with NodeJS
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
api Fix player profile links in discord notifications Mar 22, 2019
assets
config
logs
scripts Update itemIcons:update script Mar 20, 2019
tasks
test
views
.editorconfig
.env.example Handle production redis config better Oct 19, 2018
.eslintignore
.eslintrc
.gitignore Scripts work & icon updater (#20) Feb 9, 2019
.jshintrc
.sailsrc Basic functionality for getting server stats Oct 29, 2017
.travis.yml Cache npm dependencies to speed up travis builds Mar 20, 2019
Gruntfile.js
README.md Update README Mar 17, 2019
app.js
nodemon.json
package-lock.json
package.json Remove iconUpdate script from postInstall Mar 20, 2019
update.sh

README.md

codecov Build Status

7DTD Server manager

Public instance of CSMM

Features

  • Server automation - run any command in any time interval you want. Timed server messages, automatic world saving, ...
  • Discord notifications - built-in for common use cases. Ability to detect specific strings for your custom purposes.
  • High ping kicker - Kick players with constant bad connection.
  • Country ban - automatically kick or ban players from certain countries from your server.
  • Player tracking - Track location and inventory of online players and view them on a map of your server.
  • Ingame commands - Playermade teleports, ingame support system, ... Custom commands to expose console commands to players in a controlled way
  • Economy system - Let players earn money by playing, killing zombies, typing on your Discord server. They can spend their cash in your servers shop, teleports and more.
  • Discord integration - Chat bridge (chat between Discord and the game), multiple commands to view player info or view server status.
  • Support ticket system - Let players create support requests ingame. Admins can view and comment on these via the website to provide quick support for players.
  • Server analytics - charts of # of online players, server FPS, RAM usage.

Installation

The commands here assume you are running a Debian based Linux distro. Installation steps for other distros or Windows will be similar but keep that in mind.

Prerequisites

  • Node.js

  • Steam API key

    Go to the Valve API key page and register a key.

  • Discord bot account

    Go to the Discord developer page and create a new application. You must also make this application a bot account.

    Collect the following values from the page:

    • Client ID
    • Client secret
    • Bot token
  • MySQL

    Set up a user and corresponding database.

Installing and configuring the application

  1. Clone this repo to your machine.

  2. Run npm install --only=prod to install the dependencies

  3. Copy the .env.example file to .env

    Fill in the info you've gathered so far. For the DBSTRING, a special syntax is used. You should replace anything in [] with your personal database values.

    DBSTRING=mysql2://[USER]:[PASSWORD]@localhost:3306/[DATABASE_NAME]
    

    CSMM_HOSTNAME is used to generate links, CORS and other things. You should set this to the ip/domain you will access CSMM from. For example CSMM_HOSTNAME=http://localhost:1337 or CSMM_HOSTNAME=https://csmm.example.com

    Redis configuration uses a similar system to the MySQL connection string REDISSTRING=redis://127.0.0.1:6379

  4. Put the app in production mode. This is done by setting the env variable NODE_ENV=production

Documentation

Confluence contains our knowledgebase of (advanced) configuration topics.

Support

We are happy to help you on our Discord server.

Donations

Donations are highly appreciated and help us enormously! You can make a monthly pledge on Patreon or send a one-time payment via Paypal.

You can’t perform that action at this time.