Git Product home page Git Product logo

gametechguides / mouthwashprivate-resupported Goto Github PK

View Code? Open in Web Editor NEW

This project forked from edqx/mouthwashprivate

0.0 0.0 0.0 21.4 MB

Main development trunk for Mouthwash.GG - revival of Polus.GG Support always Latest Version

License: GNU Affero General Public License v3.0

Shell 0.10% JavaScript 1.41% C# 5.84% Rust 0.11% PowerShell 0.01% TypeScript 87.90% HTML 0.12% Dockerfile 0.01% Svelte 4.51%

mouthwashprivate-resupported's Introduction

Mouthwash.GG

Mouthwash.GG is the code-name for Polus.GG: Rewritten, a rewrite of the Polus.GG client and server.

The entire codebase has been completely revised with no stone left unturned. SkeldJS was used for the Among Us implementation for the server, Hindenburg for the server itself with support for SaaH (Server-as-a-Host) and Reactor being used for the client mod.

Setup Guide

Files

Create a .env in the root directory to store passwords and other credentials. It can be empty for now.

Dependencies

Supabase (Required)

Website: https://supabase.com

Supabase is a free Firebase alternative that has a CDN/file storage bucket feature. Mouthwash uses the storage bucket to host assets for peoplpe to download, for example assets relating to Town of Polus (custom buttons, audio, etc.), as well as Launcher and Client mod releases.

It's very straight forward to create an account + project.

Storage Buckets

Once you've made a project, you'll also need to create 2 storage buckets:

  • MouthwashAssets
  • Downloads (for storing the Launcher + client releases).

Make sure to create BOTH buckets as "public buckets":

Postgres (Required)

Postgres is the database of choice for Mouthwash, used for accounts, logging and storing asset information.

Docker

The recommended way to use Postgres locally (especially if you're on Windows) is to use it with Docker.

In your .env file, choose a password for your database:

POSTGRES_PASWORD=Mouthwash123

(Replacing Mouthwash123 with your password)

Create a folder ./data/pg at the root of the repository.

Docker Compose

Using Docker compose, you can start the database with the following command in a terminal of your choice:

docker compose -f db.compose.yml -p mwgg-db up -d

Next, you'll need to setup the database with all of the tables and indexes that Mouthwash uses. You can use docker exec to run this inside the container for you:

cp misc/db.sql data/pg
docker exec -e PGPASSWORD="Mouthwash123" -i mwgg-db-mwgg-postgres-1 psql --username=postgres -d Mouthwash -f /var/lib/postgresql/data/db.sql

Remember to replace Mouthwash123 in the PGPASSWORD parameter with your actual database password.

Docker Run

If you don't want to use Docker compose, you can start the database manually with:

docker run --network host --env-file ./.env -e POSTGRES_USER=postgres -e POSTGRES_DB=Mouthwash -d -v ./data/pg:/var/lib/postgresql/data --name mwgg-postgres postgres

Then, to setup the database you can use the following commands:

cp misc/db.sql data/pg
docker exec -e PGPASSWORD="Mouthwash123" -i mwgg-postgres psql --username=postgres -d Mouthwash -f /var/lib/postgresql/data/db.sql

Redis (Optional)

Redis is entirely optional, however can be helpful if you want to have some basic metrics on the server, or if you want to use the Mouthwash load balancer for multiple nodes.

Create a file in redis-conf/redis.conf with the following contents:

requirepass Mouthwash123

Replace Mouthwash123 with your own password to secure the database.

Docker

The recommended way to use Redis with Mouthwash is to use it with Docker.

Docker
docker run --network host -v ./redis-conf:/usr/local/etc/redis -p 6379:6379/tcp -d --name mwgg-redis redis redis-server /usr/local/etc/redis/redis.conf

Configure the Server

Asset Upload

There are two assets that need to be uploaded to your Supabase storage bucket that are necessary for Mouthwash and its gamemodes to function: the Global asset and the Town Of Polus asset.

All of these assets can be found at https://github.com/edqx/MouthwashUnity/releases (under gamemode-assets.zip).

Simply upload all of the files in this zip file onto your MouthwashAssets bucket in your Supabase project.

Launcher

Auto Updating Releases

If you want

Client

Node

mouthwashprivate-resupported's People

Contributors

edqx avatar amongusafk avatar

mouthwashprivate-resupported's Issues

Update Project

My Goal is To Update the project to work with newest version of among us

  • Client Modification : Port to AU 2024.3.5 โœ…
  • Changes The Launcher (color , dependencies etc...) and fix dialog dosen't open
  • Fix an issue that the launcher dosen't get reponse from account-server
  • Update Hidenburg & Skeld.js to latest if there any updates

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.