Skip to content

jonasgaiswinkler/BetterCrewLink-server

 
 

Repository files navigation

GPL-3.0 License Docker Pulls


Logo

BetterCrewlink Server

Voice Relay server for BetterCrewlink.
Report Bug · Request Feature

Table of Contents

About The Project

This is the relay server for CrewLink, an Among Us proximity voice chat program. I am currently hosting a server at https://crewl.ink/, but if you want a more reliable option I would suggest to deploy this repository yourself.

Environment Variables

Optional environment variables:

  • PORT: Specifies the port that the server runs on. Defaults to 443 if HTTPS is enabled, and 9736 if not.
  • HOSTNAME (REQUIRED): The hostname or IP of the server (a record without a proxy so if you have cloudflare make a extra dns record named for example direct.domain.com and disable the proxy for that record (this is for the turn server))
  • NAME: Specifies the server name
  • HTTPS: Enables https. You must place privkey.pem and fullchain.pem in your CWD.
  • SSLPATH: Specifies an alternate path to SSL certificates.

Deploy to Heroku

To get up and running quickly, you can deploy to Heroku using the button below

Deploy

This will deploy an instance of the crewlink-server. You can get the URL of your server by using the app name that you gave when you launched the app on heroku and appending .herokuapp.com. You can also find the URL of your server by going to "Settings", scrolling down to "Domains". Using this URL, follow step 4 of the installation instructions to connect your client to your server instance.

Docker Quickstart

Run the server with Docker by running the following command:

docker run -d -p 9736:9736 ohmyguus/bettercrewlink-server:latest

To change the external port the server uses, change the first instance of the port. For example, to use port 8123:

docker run -d -p 8123:9736 ohmyguus/bettercrewlink-server:latest

Building the Docker Image

To build your own Docker image, do the following:

  1. Clone the repo
git clone https://github.com/OhMyGuus/BetterCrewLink-server.git
cd BetterCrewLink-server
  1. Run the Docker build command:
docker build -t ohmyguus/bettercrewlink-server:build .

Manual Installation

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

npm install yarn -g

Installation

  1. Clone the repo
git clone https://github.com/OhMyGuus/crewlink-server.git
cd crewlink-server
  1. Install NPM packages
yarn install
  1. Compile and run the project
yarn start
  1. Copy your server URL into CrewLink settings. Make sure everyone in your lobby is using the same server.

Customizing Peer to Peer Behavior

By default CrewLink clients will attempt to establish connections directly to each other for sending voice and game state data. As a fallback mechanism, CrewLink-server ships with an integrated TURN server in the event clients cannot directly connect to each other. You may want to customize this behavior to, for example, exclusively use the TURN relay to protect player IP addresses. To do so, head into the config folder and rename peerConfig.example.yml to peerConfig.yml and make the desired changes.

Contributing

Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

About

Voice Relay server for CrewLink.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 78.2%
  • Pug 11.1%
  • Dockerfile 10.7%