Giter Site home page Giter Site logo

net64plus-server's Introduction

Net64+ Server

GitHub All Releases GitHub Releases Docker Pulls Docker Image Size LGTM Grade Discord Build Status Coverage Status

Net64 aka SM64O allows playing Super Mario 64 in an online multiplayer mode. Net64+ is the official continuation of the program and features an integrated server list.

This repository includes the dedicated server software. For the client please visit the client repository.

Server List

There is a public server list of all Net64+ server, that have enabled listing.

Downloads

For user servers, there is a prebuilt Windows version with a few limitations, but it is much easier to host in general. The prebuilt version is bundled with the Net64+ Client, but you can also download it in the release section.

Installation

  • download and install Node 12
    • you can try using a later version of Node, but you will need to install C++ compilers
      • on Windows you can do the following: npm i -g windows-build-tools / or use yarn global add
  • install yarn. It's a package manager for npm, which is generally faster
  • git clone this repository or download as zip
  • modify settings.json
{
  "port": "3678", // make sure your port is forwarded
  "enableWebHook": false, // set this to true, if you want your server to be listed
  "gamemode": 1, // the initial gamemode
  "enableGamemodeVote": true, // whether gamemode voting should be enabled
  "passwordRequired": false, // whether password is required to join this server
  "name": "A Net64+ Server", // display name for public server list
  "domain": "", // domain of your server for public server list. keep it empty, if you don't have a domain
  "description": "The **best** Net64+ server ever\n\n:unicorn_face:", // description for public server list
  "apiKey": "" // this is required, if you want your server to be listed
}
  • (OPTIONAL) if you want your server to be listed, go to SMMDB, login with Google, go to profile and get your API key
    • Do not share your API key, because it gives full access to your account
    • You can only list one server per API key
    • name will be shortened to 40 characters at most
    • description will be shortened to 200 characters at most
    • description supports Markdown and emojis
  • open a terminal in the folder of your server and execute the following commands
$ yarn install
$ yarn start
  • (OPTIONAL) if you want to run your server indefinitely with auto restarts, I suggest to use pm2
$ yarn global add pm2
$ yarn build
$ pm2 start ./dist --name="net64 server"

Docker

You can also pull Net64+ Server from Docker Hub.

Make sure that Docker is installed and running. Then execute the following commands:

$ docker run --rm -it -p 3678:3678 tarnadas/net64plus-server
$
$ # or run it detached in background
$ docker run --rm -it -d -p 3678:3678 tarnadas/net64plus-server

You will still need to port-forward in order for this to work.

The Docker Container accepts all arguments that the regular Net64+ Server executable accepts as well.

Optional arguments:
  -h, --help            Show this help message and exit.
  --port PORT, -P PORT
  --gamemode GAMEMODE, -g GAMEMODE
  --disableGamemodeVote, -G
  --passwordRequired, -pr
  --password PASSWORD, -p PASSWORD
  --name NAME, -n NAME
  --domain DOMAIN, -D DOMAIN
  --description DESCRIPTION, -d DESCRIPTION
  --enableWebHook, -w
  --apiKey APIKEY, -k APIKEY
  --verbose, -v
  --skipPortCheck, -s

An example to host a public server on port 8080:

$ docker run --rm -it -d -p 8080:8080 tarnadas/net64plus-server -P 8080 -w -k $API_KEY -n "Public Net64+ Server" -d "This is a publicly hosted Net64+ Server"

net64plus-server's People

Contributors

tarnadas avatar unseenfaith avatar henrik0x7f avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.