Giter VIP home page Giter VIP logo

gameserver's Introduction

Gameserver

Discord Shield

Gameserver is a centralized server specifically designed for Wii, providing efficient management of a diverse range of essential services, including JMCS, WDF, and Galaxy. This powerful server acts as the core infrastructure, responsible for coordinating and overseeing these critical components, ensuring optimal performance and seamless integration within the DanceParty ecosystem.

It's important to note that the Gameserver should not be confused with our repository, KrystalUDP, which focuses on handling UDP connections for online services of PlayStation 3, Xbox 360, and Wii U. The Gameserver and KrystalUDP serve distinct purposes and cater to different platforms within our comprehensive online infrastructure.

Games & features availability

Game World Dance Floor Leaderboards Online Challengers Streamable Maps Monthly Mashups
2014 Under work - - - Available
2015 Available Available Under work Under work -
2016 Available Available Under work Under work -
2017 Available Available Under work Under work -
2018 Available Available Under work Under work -

Sub-services

  • JMCS (Jean Mich Central Server): JMCS takes charge of numerous essential services, including leaderboards, user profiles, online maps, and the JD Wall. It serves as the core backend system responsible for managing and facilitating these functionalities, enhancing the overall user experience.

  • WDF (World Dance Floor): WDF is responsible for the management of various World Dance Floor data, encompassing playlists, status updates, and parties. It serves as the central hub for handling and organizing these crucial elements of the World Dance Floor experience.

  • NAS (Nintendo Authentication Server): NAS handles authentication tokens from the Wii console. We developed a custom NAS instead of using Wiimmfi due to the limitations of their token payload, which did not meet the requirements of our system.

  • Tracking: Tracking plays a crucial role in identifying issues, bugs, and gathering information sent by the game. However, we currently lack detailed information on how the API of Tracking is intended to function, which hinders its optimal performance. As a result, the tracking functionality may not be operating at its full capacity and may require further development and refinement.

  • Galaxy: Galaxy was initially designed to handle the distribution and storage of the song database for both JMCS and WDF. However, we have made the decision to remove Galaxy from the repository as it is no longer in active use. Alternative solutions have been implemented to fulfill the role that Galaxy previously served, ensuring efficient song management and storage within JMCS and WDF.

Requirements

  • Node.JS (version 18 or higher)
  • PM2 (install via NPM)

    Databases

    • MongoDB
    • Memcached

Installation and Usage

To install and use the Gameserver, follow these steps:

git clone https://github.com/DancePartyOnline/gameserver.git
cd gameserver
npm install
pm2 start ecosystem.json

The above code block will clone the server repository, install all required modules, and start all services in ecosystem.json with PM2.

Using the Command Line

If you prefer not to run the server with PM2 or want to run a specific service, you can use the command line interface.

gameserver.js <command>

Commands:
	gameserver.js serve <service> Initialize a service

Options:
	--help Show help [boolean]
	--version Show version number [boolean]
	-e, --env Service environment [string]
	-p, --port Port to bind on [number]

Examples

  • node src\gameserver.js serve jmcs --env local: Start JMCS in the local environment.
  • node src\gameserver.js serve wdf --env dev --port 5000: Start WDF in the development environment, binding to port 5000.

Changelog

For a detailed list of changes, refer to our changelog.

Contribute

We welcome contributions to enhance our services, solutions, and workflow. Feel free to contribute!

gameserver's People

Contributors

termofficial avatar yunylz 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.