 Hi, I'm Denchie, and welcome to this comfy guide to Mumble. We're gonna cover both server and client side setup today. So we're gonna be setting up our very own independent Mumble server where people can connect and voice chat. And we're gonna be setting up a Mumble client, so the program on your computer that actually connects to a Mumble server. We're gonna connect to our own, and we're actually gonna set up administrators and privileges and stuff like that. I'm gonna be using this text guide over here that's available in the description that I wrote. And of course, if you go here, you can copy and paste all the commands on your server if you wanna do that. You can look at some nice images that explain how to use the client. So if you're stuck, feel free to go and click that link in the description and just follow along to the text guide. Anyways, before I start using this guide, I'm just gonna note the ports you need forwarded on your server or in your firewall or whatever will be 64738, that's the port you want. It's the default Mumble port. You can customize this if you wanna use a different port for some reason, but I'm gonna be using that one in today's video. I'm gonna be installing everything on WN12 today, but most of these steps should work on pretty much every OS, any kind of Linux operating system, and obviously older versions of WN as well. So we're gonna start by installing the Mumble server package. We're just gonna run apt install mumble-server. I'm gonna pass a dash Y over here which automatically confirms the installation for us as well. After it's done with that setup process over here, there's basically one big file where you can figure everything in mumble and that's etsy-mumble-server.ini. And I'm gonna be using Vim today to access it, but you can use Nano if you want or any other text editor that you want. So starting out at the top over here and scrolling down, the first big thing you'll see that you can customize, at least the important things that you can customize is the welcome text. So this will show up every single time a user logs onto your server. I'm gonna just change this. As you can see, it's all HTML syntax, so you can put bold stuff, italics. I'm gonna leave the BR text because those ensure there's a line break between all the different lines. I'm gonna say welcome to, I'm gonna make it italics. Denshi's mumble-server. Nice little exclamation mark. I'm gonna close the italics with the angled bracket syntax over here that HTML has. The next thing you can customize is the port. I'm not gonna touch this because I like 647, 38. So I'm gonna just leave it at that. Anyways, server password. If you want a password here, you can put that in there. Not really super important. I'm not really gonna put a password in there, but if you want it, you can go and put it in. Anyways, sorry, I hadn't reloaded the page previously, but there's a section in the guy that talks about bandwidth. If you want to have higher quality options in your mumble-server, like you wanna be able to increase the either quality in your client and talk to people with a higher bit rate, then you might wanna increase that bandwidth option over here. I believe the maximum it's meant to go to is 128, although you might actually be able to increase this thanks to some recent mumble updates, but I'm gonna just leave it at 128K over here, which is perfectly fine for any kind of audio quality. You're probably not gonna be using this kind of level of bandwidth, but just in case you need it, leave it like this, unless your server really can handle it, of course. Anyways, scrolling down, as you can see, there's a timeout option. This is just so people will be automatically kicked from your server. If they're AFK, there's not doing anything on your chat server, I'm just gonna leave this as on set. And then there's a user limit set to 100. If you want, you can decrease this or increase this. I'm gonna set it to just 30, which is probably an appropriate amount. Before we move on with any further configuration, I wanna talk about certificates. So if by default you connect to a mumble server, if I were to just stop this right now, and I run systemctl restart mumble-server, which is the command to reset the server and get all the configuration changes and stuff like that, and I were to connect to this server's IP address and do all that kind of stuff, then you would basically be stuck with getting an error message if you were to use the domain name. So at the moment, if I just put the IP address to the server, it's fine. But if I were to put, say, mumble.venture.org, which just so happens to be a domain which points to this very server with a DNS entry, then you would get an error mumble saying, oh no, the certificates don't align because mumble will generate a certificate for your server regardless of whether you give it a certificate for the proper domain or not. So this basically makes it a lot easier for you to stop getting those kind of errors. If say you want mumble.venture.org to be your official domain name you use for your mumble server, you're gonna need a proper approved certificate. You can't just use the built-in mumble one. And that's not just to be clear, it's not a client certificate in mumble, that's a certificate for the mumble server. This is all server-side stuff. All that kind of techno babble out of the way, what does this really mean? It means we have to follow these steps to actually get an official certificate and get everything set up properly if we want to use a domain. This will work fine if you don't need it and it will still be encrypted and secure and everything, but I'm just gonna do it for the quality of life. So let's go and do it. The first thing you're gonna wanna do, I don't cover it in the guide because it's something which you should probably be familiar with if you're self-hosting or if you've set up a web server, is you got to install Python 3 dash shirtbot dash nginx if you're using nginx as a web server. If you don't have that installed, you normally have to put this on, but I've already got this installed, but basically this is the package you can use to get these certificates. Then what I'm gonna do is I'm gonna run shirtbot dash dash nginx to make sure it doesn't conflict with my nginx installation, dash d for the domain name and the domain is mumble.denshi.org. It'll give this deploy hook error. You can ignore this because we're not deploying to web server. You don't have to worry about this. And there you go. It says it's saved at Etsy Let's Encrypt Live Mumble that then she doesn't run. This is important. You have to remember this location because now we wanna copy it over to a location where the mumble user can actually see it because obviously it doesn't have root permissions. It can't see every file. And we don't wanna give it permission to the Etsy Let's Encrypt directory because that'll be insecure. So we're gonna begin by creating a new directory mkdir. I'm gonna use the dash p option over there to make sure that it creates every directory. User share certs. And then I'm gonna name this mumble.denshi.org. All right. Now what I'm gonna do is I'm gonna copy over the file in Etsy Let's Encrypt Live mumble.denshi.org. We're gonna copy over fullchain.pem. That's actually the certificate. Gonna put it in user share certs mumble.denshi.org. Just like that. And we're gonna do the same with Etsy Let's Encrypt Live mumble.denshi.org. Priv key, the private key. We're gonna put that in user share certs mumble.denshi.org. Just like that. All right. So now if you list user share certs mumble.denshi.org, as you can see, it has both of the files which we need. Fantastic. Now what we're gonna do is we're gonna give the mumble server permission to have those. You can basically copy basis command, but I'm gonna just type it in here. chown, that's to give file ownership, dash capital R for recursive. So it goes through every file. mumble dash server and then colon mumble dash server for user and group. User share certs. And then in this case, mumble.denshi.org is the folder where we put that stuff. So just like that, it now has permission to access them. Now, if we go back into Etsy mumble.server.ini, the main configuration file, we have to go to the SSL cert section, just like you could it is. And we're gonna basically uncomment this by removing the semi colon. And we're gonna type in the directory where we put all the stuff, which in this case will be user share certs mumble.denshi.org. And then in forward slash fullchain.pem for the certificate. And as I said before, user share certs mumble.denshi.org and privkey for the private key or the SSL key or whatever you want to call. So that's a certificate set up. That's all that stuff. That's probably the hardest part of this entire guide. Now, if you scroll up here, this is optional. I'm not gonna set this up in today's video. But if you want, you can actually register your mumble server on the mumble server list that shows up when you start mumble. If you are running a public server, you want people to be able to see it. You want to, I don't know, attract people to your mumble server or whatever. I'm not gonna set it up, but if you want to, you can go through and set all this stuff up. Anyways, with all that saved, we're gonna run system CTL restart mumble dash server. And just like that, it's now running the mumble server. So now let's go onto the client configuration. All right, so I'm just on my client computer right now. I'm gonna open up a terminal and I'm gonna install the mumble package. So if you're on Debian or Rubuntu on Linux, you can probably just do apt install mumble and should install. You should also go to the mumble.info website to download it on Windows or Mac. Just click on download now and there you go. This'll be linked in the description if you want to check it out. In my case, I'm actually gonna install it on Arch or Artix Linux. I'm gonna do sudo pacman-capital s and mumble. And I'm actually gonna pass the dash dash no confirm option to make it as fast as possible. So it doesn't actually ask me to confirm the installation. All right, so just like that mumble is now installed, I'm gonna just open up the app. And as you can see, it automatically drops you into the mumble audio wizard. This is the audio tuning wizard from mumble. Now, we're kinda gonna skip through the audio tuning part because it's not super important in my case. It's not like I have to configure a bunch of stuff. So I'm gonna just click next. It'll echo my voice right now. I don't know if you can really hear that on the recording, but it's echoing my voice through my headphones. It's working fine, so I'm just gonna click next. Now it's gonna show me this little status for my voice. I'm gonna make sure this is an appropriate place so my voice actually shows up to the right little green part that I'm gonna click next. And now as you can see, it wants me to set the voice activity detection more appropriately. I'm gonna just reduce this, so there you go, that's better. As you can see, when I speak, this turns blue. If you want, you can also configure push to talk, of course. Now it's gonna ask me about quality notifications like quality settings. I'm just gonna keep it at balance. That's probably an appropriate choice. And I'm gonna just leave all this stuff as default. So just clicking next. As you can see, it asks about submitting anonymous statistics. I'm not gonna take that. And now you can press finish and I'll send you to the certificate wizard. So just to be clear, this is not related to the certificate on your server. If you set that up, this is called a user certificate. So the way this works is basically, when you go to a Bumble server, you can actually claim a username if you're the first person to have that username. But that claim is linked to the certificate. So let's say I make a certificate right now and I go on my server and I claim the username Alex. If I want to have the username Alex on my server, I need to have the exact certificate. So if I lose my certificate, nobody else will ever be able to have the username Alex unless the server is reset, of course. In addition to that, if you have the same certificate, irregardless of what username you log on to on that Mumble server, you will still be given the appropriate username for the owner of that certificate. So if the owner of that certificate registered with Alex and you just decide one day to change your username on Mumble, you'll still be called Alex on that server. I know that sounds all complicated but we're gonna see it in action right now. If you're new to this whole thing, just click automatic certificate creation. If you already have certificate, you can do import certificate, import it. I'm just gonna do automatic certificate creation. Just click next and then there you go, it's already done. Now it's gonna ask about the public server ping and letting you see the list of servers. If you're privacy conscious, you probably should click no. I'm gonna click yes to so you guys can see what the public server list looks like. As you can see, there's a list of all the servers. You would be added to this list if you added the register options on your server. So if you remember, you can add all this register information. If you were to add that, your server would show up in this list with the appropriate little country ball icon thing. But today we're not gonna be connected to any of these. We're actually gonna want to click add new and we're gonna type the address of the server. In this case, mumble.denshi.org and then for username, I'm gonna pick Alex, that's probably fine and then I'm gonna press okay. So now what's it gonna do is it's gonna add the server to the favorite section and if you double click on it, as you can see it's connecting me to the server. It's the root channel, there's the root channel over here and my name is Alex. So just like this, your friends can come on and look, there's the custom message that I added. As you can see, if you right click on root, you cannot add, edit, remove or do anything. You can't actually kick users if there's misbehaving. You can't mute users. You can't be a megalomaniac discord administrator. But basically we're gonna fix all that by going into the mumble server settings and setting up an administrator. So back to server configuration. As you can see, the guide over here runs through certificate creation and all that kind of stuff. So if you wanna register an administrator, what you gotta do is you gotta run murmurd, just like that, dash S-U-P-W. I think that means super user password and I'm gonna put a super secret password in here. One, two, three, four. Guys, don't go around telling people my password. Obviously the server is not gonna be seriously used but so this is just for the sake of example. Don't actually make your password one, two, three, four. I'm gonna press enter over here and as you can see, it did a bunch of changes to the database. All right, so with this password, one, two, three, four. If you go on your server and you disconnect, right? And click on connect and click on your server and click edit. If you change your username to super user, it'll ask you for a password. If you make your password one, two, three, four, oh, I'm gonna just show that to you and press okay and then click on the server and connect. As you can see, you are now the super user and if you right click on the channel, there you go, you can edit, you can do all this kind of stuff, you can customize. So this is all great but what if I want a different user to actually be the super user? What if I want to register a username to Alex and give Alex full permissions on the server? So here's what you gotta do. We're gonna disconnect from here, we're gonna go back to connect, we're gonna go back to the server, we're gonna change our name back to Alex just like normal and we're gonna connect to the server and what we're gonna do is we're gonna right click on our guy and click register. So click on register and it'll say, do you wanna register yourself? We're gonna click yes. So this is the part where your certificate is sent to the server or at least the public part of it and the server cements your username as that certificate. So now if you actually were to change your username, so if I go and disconnect from the server and I connect again and I change my username to, I don't know, Billy like this, Billy, as you can see, it's Billy on my client and I click connect, it'll change me back to Alex because it knows that my certificate, the one I created when we started the client is actually corresponding to Alex. Basically what we wanna do now is click on connect then go back to the server and we're gonna log on as the super user, super user and type a little password in which we already have saved 1234 and then connect to the server and what we wanna do is click on the root channel, click on edit and then select the administrator group in the group sections. So click on the dropdown menu and click admin and then in members, we're gonna type in Alex or whatever the username or the guy that you want to be an administrator and we're gonna click add and now Alex is now a member of the admin group. We're gonna click okay and we're gonna disconnect and we're gonna connect again as Alex with our certificate and then we're gonna click okay and log on and as you can see, now we can edit everything even as Alex. We can edit, we can add in your channel, like I don't know, Alex channel, does it all have to be one big connective thing? You got to put dashes like that? I don't know, I'm gonna set the maximum users to like four and then click okay and there you go and we can actually connect to a different channel, we can do all this kind of stuff. We've made Alex an administrator on our server. Now the reason we had to register Alex first is because you can't add users to groups on Mumble without actually setting them up as registered users first. But anyways, that's pretty much it when it comes to Mumble. I hope you enjoyed this video where I went over how to set up your very own Mumble voice chat system. I've been Denshi, goodbye.