Skip to content

OhMyGuus/BetterCrewLink-server

 
 

Repository files navigation

GPL-3.0 License Docker Pulls Run on Repl.it Discord Server Contributors


Logo

BetterCrewLink Server

Voice Relay server for BetterCrewLink.
Report Bug · Request Feature


Notes:

  • This is an unofficial fork of CrewLink, for any problem, issue or suggestion you have with BetterCrewLink talk to us on our Discord, or GitHub or message me on Discord (ThaGuus#2140) do not report any problems to the official Discord or GitHub project of CrewLink as they will not support you.

  • I recommend you use my BetterCrewLink server: https://bettercrewl.ink, it is quite stable and most people are using it and I highly recommend it if you don't know a lot about how to host servers, but if you do and how to host anyway, feel free with the open source.

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://bettercrewl.ink, but if you want to make your own server, feel free to open source the server.

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: 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 clicking on the button below:

Deploy

This will deploy an instance of the BetterCrewLink-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.

Deploy to Repl.it

Another way to host your server besides using Heroku it's the Repl.it that provide you to host servers completely free without having time per month, and you can deploy it by clicking on this button below:

Run on Repl.it

This will deploy an instance of the BetterCrewLink-server. You can get the URL of your server by using the app name that you gave when you launched the app on Repl.it and appending [your-username.repl.co]. You can also find the URL of your server by going to "Web View". 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/BetterCrewLink-server.git
cd BetterCrewLink-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

Contributors

Contributors

A big thank you to all those people who contributed and still contribute to this project to stay alive, thank you for being part of this BetterCrewLink community!

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 86.1%
  • Dockerfile 7.0%
  • Pug 6.7%
  • Procfile 0.2%