Setting Up a Free Better Crew Link Server



Introduction
I've recently fallen back in love with Among Us, thanks in large part to the Town of Us Mod and Better Crew Link Proximity Chat. However, I grew increasingly frustrated with some users in a publicly available Better Crew Link voice server being unable to hear each other, having to constantly reconnect or reload the connection. Due to this, I looked into and ultimately deployed my own Better Crew Link voice server for free - and I'll detail how below!
We will be using a terrific and free service called Heroku to host our web server. Heroku offers a generous free tier for a single application, which is why we are selecting it for this article.
While this article is specifically about Better Crew Link, the steps are almost identical if you want to deploy a standard Crew Link server. The only portion of the article that varies is the name of the Heroku environment variables. See the README for help setting up these variables if you want a regular Crew Link server, found here.
Create a Heroku account
I am not going to walk through this portion step-by-step - visit the Heroku website and create an account. You don't need to create any projects or anything yet - get your account created, then proceed to the next step!
Deploy the code to Heroku
The team behind Crew Link (and Better Crew Link) have done a lot to make deployment simple, even for someone with no experience.
- Visit the Better Crew Link repository.
- Click the purple Deploy to Heroku button.
- Choose a name for the app on Heroku. Keep in mind that this name will ultimately be used in your server url. For example, an app named test-crewlink would get a URL of http://test-crewlink.herokuapp.com.
- Click the purple Deploy App button.
- Give the project a few minutes to build.
- Once you have green check marks all the way down the line, click on the Manage App button.
Set up environment variables
There is one more step we need to do for our server to work - setting up some necessary variables that will allow the code to work for your deployment.
- On Heroku, when looking at your project page, click on Settings.
- Click on the Reveal Config Vars button.
- For the variable, enter
PORT
as the key, and then put in9736
for the value. - For the next variable, enter
HOSTNAME
for the key, then put in your Heroku URL as the value. You can get the address by clicking the OPEN APP button at the top of the page, and then copying the URL. NOTE Be sure to use HTTP instead of HTTPS. - For the next variable, enter
NAME
for the key, then put in whatever you want to name your app in the value. - Click the MORE button at the top of the page, then click RESTART ALL DYNOS. This restarts the server so that it sees the new variables.
Configure Better Crew Link
- Install Better Crew Link from the Better Crew Link repository.
- Once Better Crew Link is installed and running, click the Cog Wheel icon at the top left.
- Scroll down (it's a good way down) and look for the red button stating CHANGE VOICE SERVER.
- Enter the URL of your deployed Heroku app (remember to use HTTP, NOT HTTPS).
- Launch Among Us via Better Crew Link.
- Once the game is live, start an online lobby.
- You and other folks are now connected and able to communicate on your own server!
Conclusion
That's all you need to get going! Heroku will automatically set your app to idle after 30 minutes of inactivity, and with the 550 - 1000 hours of dyno time a month they will give you, you should have no problem staying in the free tier. If for some reason don't want the server to sleep and always be quick to respond, pricing is $7/month.