A project that allows for multi-user rooms with chat, authentication via Steam API, and server setup to host a scrim between two opposing teams in Counter-Strike: Global Offensive. This is still a work in progress and large portions of the code can and will be changed. I'm using this as a learning experience for the NodeJS environment.
The goal is to allow for captain selection of both respective teams, pick/ban phase for maps and available servers, followed by automated server setup with selected config files.
Clone the project:
git clone https://github.com/Sgawrys/NodeScrim.git
Use npm to install necessary node modules.
Pick up an existing issue in the issue tracker, or submit an issue. After making changes, submit a pull request and I will review it when I have some time. This is just something I'm doing for fun and to better learn NodeJS.
Create a config.js
file in the root of the project with contents similar to:
var config = {}
/*Steam and Express configuration*/
config.steamAPIKey = '';
config.sessionSecret = '';
/*RCON Information*/
config.rconPassword = '';
/*Digital Ocean Configuration*/
config.digitalOceanAPIKey = '';
config.digitalOceanPerPage = RESULTS_PER_PAGE;
config.snapshotID = 0;
/*Droplet Configuration*/
config.dropletConfig = {},
config.dropletConfig.name = "";
config.dropletConfig.region = "";
config.dropletConfig.size = "";
config.dropletConfig.image = config.snapshotID;
config.dropletConfig.ssh_keys = [];
config.dropletConfig.backups = false;
config.dropletConfig.ipv6 = true;
config.dropletConfig.user_data = null;
config.dropletConfig.private_networking = null;
config.sshTimeout = 60000;
module.exports = config;
Where the steamAPIKey and sessionSecret are provided by yourself. Afterwards, start the project up and see it run!
npm start
- NodeJS
- Socket.io
- Express
- Passport
- Passport-steam
- EJS Templating
- Digital Ocean API
- Digital Ocean Wrapper
- Node-Srcds-Rcon
MIT License