The server for Open Course World
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Go 95.9%
Python 3.7%
Shell 0.3%
Dockerfile 0.1%
489 2 0

Clone this repository

https://tangled.org/opencourse.world/ocw-server https://tangled.org/did:plc:kiu5zep7dicd3ekjsz3dlyqk/ocw-server
git@git.msvcrt.zip:opencourse.world/ocw-server git@git.msvcrt.zip:did:plc:kiu5zep7dicd3ekjsz3dlyqk/ocw-server

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

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.