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.
- About the Project
- Deploy to Heroku
- Deploy to Repl.it
- Docker Quickstart
- Manual Installation
- Contributing
- License
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.
Optional environment variables:
PORT
: Specifies the port that the server runs on. Defaults to443
ifHTTPS
is enabled, and9736
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 nameHTTPS
: Enables https. You must placeprivkey.pem
andfullchain.pem
in your CWD.SSLPATH
: Specifies an alternate path to SSL certificates.
To get up and running quickly, you can deploy to Heroku clicking on the button below:
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.
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:
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.
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
To build your own Docker image, do the following:
- Clone the repo
git clone https://github.com/OhMyGuus/BetterCrewLink-server.git
cd BetterCrewLink-server
- Run the Docker build command:
docker build -t ohmyguus/bettercrewlink-server:build .
This is an example of how to list things you need to use the software and how to install them.
- node.js
- yarn
npm install yarn -g
- Clone the repo
git clone https://github.com/OhMyGuus/BetterCrewLink-server.git
cd BetterCrewLink-server
- Install NPM packages
yarn install
- Compile and run the project
yarn start
- Copy your server URL into CrewLink settings. Make sure everyone in your lobby is using the same server.
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.
Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- OhMyGuus for make various things for BetterCrewLink, example: NAT Fix, more overlays, support for Mobile and owner of project
- ottomated for make CrewLink
- vrnagy for make WebRTC reconnects automatically for BetterCrewLink
- TheGreatMcPain & Donokami for make support for Linux
- squarebracket for make support overlay for Linux
- JKohlman for make various things for BetterCrewLink, example: push to mute, visual changes and making Multi Stage builds for BetterCrewLink Server
- Diemo-zz for make the default Voice Server for:
https://bettercrewl.ink
- KadenBiel for make various things for BetterCrewLink Mobile, example: Better UI, Settings page
- adofou for make new parameters for node-turn server for BetterCrewLink-Server
- Kore-Development for make support for Repl.it and gitignore changes for BetterCrewLink-Server
- cybershard & edqx for make Only hear people in vision, Walls block voice and Hear through cameras
- electron-overlay-window for make it easier to do overlays
- node-keyboard-watcher for make it easy to push to talk and push to mute
- MatadorProBr for make this list of Contribuators, better README.md, wiki
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!
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.