The complete node setup guide. About 10 minutes, one time — then your server has music, free, forever.
FreeMium JayRain runs on nodes shared by its community — the more members who link a node, the more reliable music is for everyone, especially newcomers.
/play, managing the queue, joining voice channels. Downloading and streaming music costs real server money, and FreeMium JayRain simply doesn't do that part — so there's nothing to charge you for. The free tier is the only tier./play right away. This guide is for when you want to add your own PC to the pool.When you type /play, the FreeMium JayRain bot only handles the command — figuring out which song you asked for, managing the queue, and joining the voice channel. The actual work of finding, downloading, and streaming the music is done by an audio server (we call it a node) running on your computer.
That means: when your computer is off or asleep, your node is unavailable and can't stream. Close the laptop, music stops. That's not a bug — it's the whole design. And it's exactly why it matters that other server members link their nodes too: the more nodes a server has, the more likely someone's PC is online to power the music at any given moment.
Five things. None of them cost money:
Lavalink.jar) — this is the audio server. One file, roughly 100 MB.youtube-plugin-….jar) — Lavalink v4 removed YouTube from its core, so this add-on puts it back. Without it, no YouTube.lavasrc-plugin-….jar) — this add-on unlocks Spotify, Apple Music, and Deezer links.2333 (the default) — think of a port as a door number. Your audio server listens at door 2333, and the bot knocks on that door. You almost certainly don't need to change this.Go to adoptium.net (the free, official source for Java) → Temurin releases → pick the installer for your system (Windows .msi, Mac .pkg, Linux). Run it and accept the defaults.
When it's done, it'll look like an ordinary installer file with a little coffee-cup icon sitting in your Downloads. To check it worked, open a terminal and run java -version — you should see version 17 or higher.
Go to github.com/lavalink-devs/Lavalink → Releases → open the newest v4.x release → under Assets, download the file named exactly Lavalink.jar.
What to look for: a single .jar file, roughly 100 MB, named Lavalink.jar — nothing else from that page. If the name has extra words or a different extension, it's the wrong file.
YouTube plugin: go to github.com/lavalink-devs/youtube-source → Releases → download the newest youtube-plugin-….jar (the version number in the name will match the release — e.g. youtube-plugin-1.18.2.jar).
LavaSrc plugin: go to github.com/topi314/LavaSrc → Releases → download the newest lavasrc-plugin-….jar.
.jar whose name starts with youtube-plugin or lavasrc-plugin. Grab the latest release on each page — newer versions fix bugs and keep up with YouTube/Spotify changes.In the folder where you put Lavalink.jar, create a plain text file named exactly application.yml and paste everything below into it. It's the settings file for your audio server.
You only need to change TWO lines — they're highlighted below:
server:
port: 2333 # ← LINE 1: the door number. Leave it unless you know you need another.
address: 0.0.0.0
lavalink:
server:
password: "REPLACE-THIS-WITH-YOUR-OWN-PASSWORD" # ← LINE 2: YOUR secret. Keep the quotes!
sources:
soundcloud: true
http: true
bandcamp: true
twitch: true
vimeo: true
filters:
volume: true
bufferDurationMs: 400
playerUpdateInterval: 5
plugins:
youtube: # turns YouTube back on (Lavalink v4 needs this add-on)
enabled: true
allowSearch: true
allowDirectVideoIds: true
allowDirectPlaylistIds: true
lavasrc: # Spotify / Apple Music / Deezer support
providers:
- "ytsearch:\"%ISRC%\""
- "ytsearch:%QUERY%"
- "scsearch:%QUERY%"
sources:
spotify: true
applemusic: true
deezer: true
port: 2333 — the door number your node listens on. You'll type this same number when linking the node later. Leave it at 2333 unless something else on your PC already uses it.password: "…" — replace REPLACE-THIS-WITH-YOUR-OWN-PASSWORD with the password you chose in step 2. Keep the quote marks around it.plugins.youtube section switches YouTube on; the plugins.lavasrc section switches Spotify/Apple Music/Deezer on.Make one folder for all of it — for example C:\Lavalink on Windows or ~/lavalink on Mac/Linux. Inside it:
Lavalink.jar → directly in the folderapplication.yml → directly in the folder, next to the jarplugins → drop both plugin jars inside it.jar it finds in the plugins folder when it starts — no extra setup needed. If YouTube or Spotify ever stops working, the first thing to check is that both jars are still in that folder.Open a terminal in your Lavalink folder and run:
Open PowerShell (search it in the Start menu), then:
cd C:\Lavalink
java -jar Lavalink.jar
(Use your folder path if you picked a different one.)
Open Terminal, then:
cd ~/lavalink
java -jar Lavalink.jar
(Use your folder path if you picked a different one.)
What success looks like: a bunch of log lines scroll by (the first run takes a little longer — it's setting things up), and near the end you'll see a line saying Lavalink is ready to accept connections. That's it — your node is live. 🎉
Here's the catch from step 1: if your computer falls asleep or hibernates, your node goes offline and music powered by it stops. Your PC doesn't need to be used — it just needs to stay awake.
In plain words, here's the setting to change (do it while plugged into power — you don't need to drain your battery for this):
Your node is running — now tell the bot how to reach it. Pick whichever way you like; both ask for the same three things: Host, Port, Password.
/mynode 📱
/mynode and hit enter.2333 (unless you changed it in application.yml).application.yml./setup does the same thing but links a node for the whole server instead of just you. Same three fields.
2333), and Password — the same three values as Way A./mynode does.The bot lives on the internet, so localhost won't work — it needs your PC's public address. Two options:
cloudflared, then run cloudflared tunnel --url http://localhost:2333 in a second terminal next to Lavalink. It prints a public address like https://something.trycloudflare.com — paste it as your Host without the https://. Heads-up: free tunnel addresses change every time you restart it, so you'll need to re-link after a restart.
On your My Node page (or via /mynode settings) there's a share toggle. In plain language:
No music plays until someone in the server has a working node linked. That's the whole policy. The bot app never hosts audio itself — it only runs commands — so if nobody in the server has linked a node (or every linked PC is currently off), /play will tell you there's no audio available instead of playing silence.
This is also why FreeMium JayRain is free forever: nobody is paying for audio servers, so there's nothing to charge for. Link your node, share it, and the music takes care of itself. 🎶
/play with a song name or link. If it plays, your node is doing its job."Couldn't reach it" / connection test failed — your node isn't running, the Host is wrong, or the port isn't reachable. If you're on home internet without port forwarding, use the tunnel option (step 8). Remember: localhost never works as the Host.
"Password was rejected" — the password you pasted doesn't match application.yml. Copy-paste it carefully, and make sure you kept the quotes around it in the file.
Music stops when I close my laptop — your PC fell asleep. See step 7: set sleep to Never while plugged in, and keep the lid open.
YouTube links won't play — the YouTube plugin jar is probably missing from the plugins folder. Check step 5's layout, then restart your node.
Spotify links won't play — same check for the LavaSrc jar. Also note Spotify tracks are matched to YouTube for actual playback, so you need both plugins.
Node shows offline on the dashboard — your PC is off/asleep, the terminal window got closed, or (tunnel users) your tunnel address changed after a restart. Start it up and re-link with the new address.
Change details later — just run /mynode again (or revisit the My Node page) and save the new values.