OCW Game Server#
Open Course World#
Open Course world is a Course World server that is compatible with Super Mario Maker 2. To play levels, you can connect through the Ryujinx emulator or a Switch modded with Atmosphère. Alternatively, you can use the website to set up a maker account, browse makers and courses, or import and manage your own courses with our import tool.
Game Server#
Code that makes up the Super Mario Maker 2 compatible server.
Set up a dev environment#
Most of the configuration options can be found in .env, and can be overridden by creating a file called private.env. This can be used to set up secrets, or override ports or binding hosts.
The Database#
We use CockroachDB for our database, which should be run through Docker. Once you have set up docker, run:
./dev-db/start.sh
to start the docker container for the database.
To restore a backup from production to your local database, you will need an AWS access key and secret. Put these in your private.env:
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
and run ./dev-db/backup.sh from the project root.
Auth#
In order to log in via Twitch and/or Discord, you will need to obtain client secrets from the team. Add them to your private.env:
export DISCORD_CLIENT_SECRET=...
export TWITCH_CLIENT_SECRET=...
The App#
Once the database is running, source the environment and run the app with go:
$ source .env
$ go run -v main.go
Once you have your server running, you can point your frontend to the http url configured in your env - by default, http://localhost:6001.
Connecting Ryujinx#
In order to connect Ryujinx to your local server, you must build a version yourself with SSL verification patched out. (TODO [jneen] get everything running behind caddy by default). The patch can be found in ryujinx/ryujinx_disable_ssl_verify_for_local_testing.patch.
Game Client Mod#
client-mod and releases
Support#
At this time there is no support to get your own server up and running.