Editors Top Games HowTos Linux

Install and Run CodeCombat Multiplayer Game on Ubuntu 16.04

CodeCombat is a multiplayer programming game for learning how to code. It’s a platform for students to learn computer science while playing through a real game.

It’s both a startup and a community project, completely open source under the MIT and Creative Commons licenses. Furthermore, it’s the largest open source CoffeeScript project by lines of code, and since it’s a game, it’s really fun to hack on.

To install CodeCombat, we need to first setup our database. The database used will be MongoDB


Install MongoDB

  • Import public key, create source list file and install database
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update && sudo apt-get install -y mongodb-org
  • Create the service file for mongodb
cd /lib/systemd/system/
vim mongod.service
  • Paste below into the file
Description=High-performance, schema-free document-oriented database

ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

  • Reload systemd service with following command
systemctl daemon-reload
  • Start mongodb service and add as a service on startup
systemctl start mongod
systemctl enable mongod

Install and run CodeCombat Multiplayer Game on Ubuntu 16.04

  • Install some needed packages
sudo apt-get install build-essential python2.7 git curl npm nodejs-legacy
  • If your default Python version is 3, then run this also
npm config set python `which python2.7`
  • Next let’s setup Git
git config --global user.name "YOUR_NAME"
git config --global user.email "YOUR_EMAIL_ADDRESS"
  • Next we start cloning the game from the repository
git clone https://github.com/codecombat/codecombat.git
cd codecombat
git remote add -f upstream https://github.com/codecombat/codecombat.git
  • Install Dependencies
npm install
  • Let’s import the latest development database and overwrite the current development database
(cd $(mktemp -d /tmp/coco.XXXXXXXX) && curl http://analytics.codecombat.com:8080/dump.tar.gz | tar xzf - && mongorestore --drop --host
  • Run following command to startup brunch and nodemon
npm run dev
  • Open your browser and enter following URL

Now we have our game environment running on Ubuntu 16.04


About the author


A passionate Linux and Open Source user. In my spare time, I love developing mobile games for fun (You can check my games out iOS Store | Google Play Store) and also spend time contributing to the Linux community.

Leave a Reply

5 Comments on "Install and Run CodeCombat Multiplayer Game on Ubuntu 16.04"

Notify of
Sort by:   newest | oldest | most voted
Larry Linares
Larry Linares
HI, i have a problem when run npm run dev root@SRV-INGEMPCC:/lib/systemd/system/codecombat# npm run dev > codecombat@ dev /lib/systemd/system/codecombat > brunch watch –server –env fast Loaded brunch static stuff Got 560 coffee files and 266 jade files (bundled 126 of them together). 06 Mar 09:58:11 – error: { [Error: Component must have “/lib/systemd/system/codecombat/bower_components/jquery/bower.json”] code: ‘NO_ BOWER_JSON’ } 06 Mar 09:58:11 – info: custom server started, initializing watcher 6 Mar 09:58:12 – [nodemon] v1.6.1 6 Mar 09:58:12 – [nodemon] reading config /lib/systemd/system/codecombat/nodemon.json 6 Mar 09:58:12 – [nodemon] to restart at any time, enter `rs` 6 Mar 09:58:12 – [nodemon] ignoring: /lib/systemd/system/codecombat/.git/**/* /lib/systemd/system/codecombat/node_modules/**/*… Read more »
Linux Hint

What OS version are you running it on?

Larry Linares
Larry Linares

I have
Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial

Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic x86_64)

Larry Linares
Larry Linares

Hi, finally I could install the CC but when I enter as a student I get the next screen without being able to play

comment image (244KB)

Linux Hint

Wow I am glad you finally got it installed. Do you see any errors thrown in the console that you might share?