← Back to home

Host it yourself.
Play your way.

Run the Ndobol Sesarengan prototype on your computer. The game frontend, server, data, and contracts are separated to make them easy to understand and develop.

Open on GitHub ↗

Prepare the project folder.

Public repository: Open on GitHub ↗. Clone the repository or download a ZIP from the Code menu, then open a terminal in the project folder.

git clone https://github.com/Ndobol-Sakpole/ndobol-game ndobol-sesarengan
cd ndobol-sesarengan

Make sure the folder contains package.json, apps/, shared/, and infra/. Use Node.js 24.5+ and a modern browser that supports WebGL2 and import maps.

One command. Let it flow.

Run these commands from the project root. Install local dependencies, then start the game server to try solo + bot mode.

npm ci --ignore-scripts
npm run game

Open http://127.0.0.1:4174/apps/web/index.html. Keep the terminal open while playing. Stop the server with Ctrl + C.

Get to know your raft.

  • WASD to walk on deck.
  • ← / → to turn your character through 360°. Space to fart backward, opposite the direction you face.
  • Q / E to collect litter on the left/right. Touch controls are also available.
  • Choose Selokan Mataram or Kali Progo. Use Settings to adjust graphics quality and the camera.

Solo + bot mode works without the API. For online rooms with 2–4 players, start the game server and API using npm run dev, then open port 4174. Wallet connection is available; minting and on-chain claims are not open yet.

Take it to your server.

The game and promotional website have separate repositories. For multiplayer hosting and game deployment, follow the latest README in the game repository.

Read the game guide on GitHub ↗

To run the game and API locally:

npm run dev
# http://127.0.0.1:4174/apps/web/index.html

Landing page deployment instructions are in the ndobol-landing repository.

Read the website guide ↗

Get back on course.

Blank screen or WebGL2 unavailable

Use an up-to-date browser with graphics acceleration enabled. Open the HTTP URL above, not file://. Try Low quality if your device struggles.

Module or shared not found

Run the server from the project root. Uploading only apps/web is not enough: the game also needs shared/. Include the local Three.js vendor files already in the project.

Port already in use

Stop the previous server with Ctrl+C, or change the port. For the game on macOS/Linux: WEB_PORT=4180 npm run game. PowerShell: $env:WEB_PORT=4180; npm run game. Then open the chosen port.

Wallet or NFT features unavailable

Wallet connection is available in the prototype; minting and MON claims are not open yet. Contracts are in development and require deployment and funding. Running the prototype does not require blockchain transactions.