Installing Dedicated Satisfactory Server on Ubuntu 22.10

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
foreign what's up guys okay so um this video is going to be about getting a dedicated satisfactory server installed on Ubuntu um this video is going to be very similar to the one that I did on Ark survival and in fact the commands are pretty much identical minus the um the specifics is satisfactory like what which app update you do on the steam command I've got a couple different like little performance things that I added to my arc server that I'm just going to apply to this satisfactory server because the satisfactory I think is easily as heavy as Ark survival server wise the VMI provisioned has four vcpu and 16 gigs of RAM and it runs on my personal home ESX VMware esxi server it's just basically a beefy Dell Precision with 128 gigs of RAM and so I have lots of RAM on it and it's an older Xeon Processor but it does pretty well for for what I use it for all right so let's get started so basically I'm going to do um this tutorial on Ubuntu 2210 probably should have used 2204 I just realized literally right now that I had done 2210 instead of 2204. that's okay I think the process will be the same so basically always what you want to do is start out with uh fully updated system you can see mine I already did that so I got zero updates can be applied immediately oops of course you can't copy the line and expect it to do what you want we delete that um oh also so I started out with with um logging in as root are pseudoing to root rather I logged into myself and suited okay so we're fully up to date I'm at an as root if you don't want to do it as root you just have to append um pseudo to the beginning of the prefix pseudo to the beginning of everything so a couple things required for the steam command at least from my experience one is this repository Multiverse um somebody else had this thing out there where they recommended doing software properties common to be honest with you I think I might it doesn't hurt to have it on there I did it the first time I did this and it's just fine you can read up a little bit about that but I'm going to skip it I think this time and see if if if everything works fine so um I do need to do another update I believe here before we'll be able to see these could be wrong on that we'll have to Fumble through this real quick just to just to get these pieces installed because if you just do apt install Steam command initially it's not gonna it's not gonna work also the lib 32 GCC so this version of Ubuntu I don't know if this is the case for 2204 but you can't do GCC one or L be honestly I don't know which one it is anyhow on this system it's S1 yeah because well let me let me just show you so if I do GCC one I think it's one yeah I see right there it says however the following packages replace it so that might be a 2210 thing a repo for 2210 I don't I don't know so you'll have to see what happens when you try to install lib32 GCC I'm gonna install the S1 version because that's what's recommended apparently um and then we're going to go ahead and install Steam command and there it is okay so I so we skipped this software properties common I'm going to leave it out uh you can install it if you want to um it I don't you know by the end of this video you determine I think whether or not you actually want to have it in there all right so steam command is installed um I'm going to do a couple file limit maximums here so we're going to edit this sys control here and I'm going to type in fs.file Max 100 000. we're also going to edit the limits here and set soft and hard to 100 000 I don't want to comment that line so I'm going to copy these paste them there all right so I've got two files added with with some limits let me just run you limit also all right so I set some file limits um to be pretty high higher than standard at least a higher than I think standard is to be honest with you maybe maybe ubuntu's been changing these things over the years I don't know but it doesn't hurt to put them that way I don't think this hasn't affected me so you can go ahead and do it if you just trust that the command is a decent command if you don't want to do it it's fine you can see what happens when your system runs without them all right I'm gonna run um steam so the Steam games so satisfactory I'm going to run it under a user called steam I would highly recommend you replace this password with your password for the demonstration purposes I'm just typing that in um I don't like from a security perspective we're running it under a different user because we want the context of the game to be under a specific user you certainly don't want to run it as root you don't want someone to be able to exploit the satisfactory game engine and then get you know root level access and so if you run it under a service account or a user that doesn't have root it excuse me root level access then exploiting is is much less likely so we're going to go ahead and create that steam user and then I'm going to switch to the steam user because there's a couple things we need to do as the steam user instead of root so Su space Dash space steam now you can see down here the prompt I'm in esteem the first thing we need to do is create a symbolic link to the steam command because steam command gets installed under user games and steam command is not part of your path oh maybe it is that's very interesting well hmm I thought so the first time I had ran this it literally told me that it wasn't part of the path it told me where to find it and then you should probably create assembling for that but clearly it looks like it's part of the path because I just ran it and it worked just fine so we can try skipping this if you'd like or you can just do it it's really doesn't mean anything it just creates a Sim link to it and see if you look in the folder now I have steam command here Sim linked to the user game um if we were to say Echo path you can see that user games is in my path statement for steam user so it's probably like you probably then that would to me that would say that I don't need this Sim link so that's up to you if you want to create it I don't think it's necessary now that I see that the next thing we're going to do is we're just going to run the steam command to install the game I'm specifying a Forester I want it in this home Steam folder for the user in satisfactory this is the app number in the steam database 1690800 and we're just going to log in anonymously I think the dash beta I got this from some side I think that means don't install the beta version you're just going to install the the uh stable release right but it's still in beta I think maybe that's what Dash beta means I don't know I don't understand the plus and the minus for options on Steam command this is like not using beta or is it using beta is the plus using apt update like you get yeah anyhow so we're going to go ahead and just do this first time I'm also going to make it so that the service that we create that runs satisfactory also runs this every time the service starts because you want to make sure that the game is up to date every time you restart the server and that's part of the service definition which I'll show you in a second so it would run this as well as soon as you tried to start the service I don't know how big this game is I might have to pause it all right I'll be back okay we're back so the game is um officially installed and updated and stuff so now if you look at this Steam folder here you can see I've got a satisfactory folder right in my home folder so if I say present working directory home steam satisfactory that's where I requested it to install um so if you look at some instructions online you'll see that a lot of people say that you can run the server as factory factory server.shell um and you can see what it basically does is it's it's essentially making some variables here based off of script name I believe yep that's with percent zero or dollar side zero means and then it gets the directory name and then and then puts the path at the front and this is your binary because it's adding an execute bit to that permissions and then it runs this Linux shipping ue4 engine server Linux shipping Factor game and then all of your options and so um you can run it that way you just have to provide the command lines but the problem with that is that then you have to always run it yourself when you start up the Linux server so I want it to run as a service so that it auto starts every time the server reboots just a little bit easier in my opinion so what we're going to do is we're going to make our own service file called satisfactory.service in this path at C systemd system and I'm just going to copy paste this and this entire script will be available there'll be a link in the description okay so um paste it in there so basically satisfactory server is a description so that's what you'll see on the service list it's going to run as user uh the exact start pre remember I was saying that every time it starts up it runs that app update so there you go so every time it starts that's the first thing it runs is it tries to update the app and then here's your exact start so this is the command that runs to start the game so it's very similar to that shell script I just showed you and then I have login unattended because it's running as a service you can't have any prompts you're not going to be able to respond to the prompts um and then the the reload and stop commands I'm just using kill and then the working directory I set the working directory to the same as the binary that we're running and that's it so let's go ahead and write save that oh I'm in the wrong wrong user guys can't do that is um let me exit now let's go back to root not bad I can't do that as a standard user this is a root level admin task okay so let's do the same thing again all right go ahead and save it now okay we're going to want to restart the system control Daemon so that it ingests that new control or service file and then I'm going to go ahead and start the the game so it takes a little bit of time the first time I ran this it it probably took almost a minute I think so I'm gonna go ahead and pause it here I'll be right back all right it's a little bit faster than I thought but it did take some time okay so the game should be running so let's go ahead and check the status of that service and it should give us some specifics on it you see that it's active and running you can see that it's doing some output here so I would imagine the server is probably at least at in some up State whether or not it needs to build some worlds or something I don't know if you say Journal CTL a reverse order unit satisfactory service name you can scroll through the logs and so it'll kind of tell you hey this is what it's doing it's probably got some errors not implemented so logging is not implemented I don't know if that's that's probably not an issue you're just not going to get logs you could fix that if you wanted to I think there's some articles on the internet people figuring that one out all right so so the game is running like we've got it we've got it up and going so what I want to do next is I'm going to pull up satisfactory so actually the next thing you would need to do I already did this so I wanted to make sure that [Music] um I explain it though and not forget like almost did so basically to expose this externally because I would imagine that's what you want to do with this dedicated server right you don't want to just play this at home with yourself or maybe you do you could do that if that's the case then you don't need to do anything else if you want to expose it so your friends can play outside of your house you have to do some Nat and or port forwarding whatever you want to call it it's just an app Network address translation so you want to take these three ports and redirect them or port forward them from your router your Edge router so your firewall your your Asus or whatever you use for your firewall at home or maybe something more advanced than that but you want to port forward these to this Linux host just these IPS don't port forward everything because that's too many ports to be open port for just the stuff that you need for this game to be working and and that is 1577 15 000 and 7777 which you notice if you play Arc that's like this Arc uses a very similar important that's probably because it runs on Steam very similar engine so um support forward these you're going to need that if you're connecting local you don't want to obviously like I'm gonna go add my server and I'm going to add it as my local IP if I were to have my friends connect I would want them to use my outside internet IP so if you like went to your web browser you said In Google you said what's my IP that IP address is likely the one that you'd want to give to your friends to connect but for you because you're on the same network as the server likely you would connect to the local IP for that server so let's go over to satisfactory I want to say server manager because that's how we're going to connect to it so I'm going to go ahead and click this I'm going to go ahead and hit add server and we're going to add the local IP for me so this oh that's awesome it's hidden I don't know if that matters like I don't care if you know what my IP addresses are internal so 192 168 1754 is the IP address of This Server it's on Port 150077 I'm going to go ahead and say confirm and it's going to authenticate you can see the service UPS it's already responded basically what it's telling me this is the first time I've connected to it it's saying hey it's not configured what do you want to call This Server so let's just go with geekhead you can type in whatever you want for yours confirm and then and then an admin password so obviously something that uh you know like only tell this to people that you trust obviously and then you have to create a game so I I don't fully understand exactly how the satisfactory game engine works I'm assuming that it runs one game at a time but maybe I'm wrong on that and you can have like multiple games running I don't I don't think so but either way it doesn't come with anything loaded at first so the first thing you'd want to do is create a game pick the world that you want I'm gonna go with grass fields because I'm a brand new player to this game I'm going to go ahead and say to join when ready I'm going to click last grass fields and the session name we'll just call this geekhead World V1 and I'm going to go ahead and say uh create actually I'm gonna check this I'm going to say create game server is preparing a new game so I don't know like we could go over connecting to server oh interesting that was pretty fast so I'm kind of curious if we look here what this is doing got some errors on the screen there cannot open shared object file we'll find out I suppose if that's an actual issue or not um it looks like the game created because now it's basically back to this prompt so let's go to server settings though we want to set so we already have the administration password set you can set it again just to validate it if you want to but I'm pretty sure we literally just set this but just to confirm that way nobody has it you can reset it um player password protection so this is like the password you'd use for people to join I would recommend I don't know I would recommend setting it sorry I got distracted there I don't know what password I want to put for this all right I said a password you want that unless of course you want just everybody connecting to your server like it's unlikely that they're going to find you on that IP address though and just connect it and sabotage your world and satisfactory but it's probably a good idea to have a password that way only people that know your password can can you know connect to your game there's a cool option here it says pause the game when new players are connected I I have I actually think I might check uncheck this so that my factory once you get to like coal power plants like their endless field so they could run forever so why not just have always processing stuff even while you're logged off and then you come back and like all your bins are full of materials that would be kind of good so I eventually might actually uncheck this we'll have to see what it's like for performance or you know if your world burns up and you're gone or so I don't know like I haven't played the game enough honestly to know what happens but this is probably a cool thing to be able to just have that because then they would just be doing stuff in the background be awesome all right so I think it's ready so I should be able to join this game let's see if it lets me in you are not connected oh that's kind of weird all right I'm gonna go ahead and pause it because I don't know how long this takes all right interestingly enough it actually aired out and if I remember the first time I did this it did the same thing to me so um it's kind of odd honestly what I'm gonna do is we're just gonna try um doing it again so I'm gonna go to server manager and we're just gonna try to connect right back into it because I think I think the server is probably just building or something or starting up for the first time I don't know like it's kind of odd because you would think that it would just sit there and wait I guess it would it tried to connect to the server the server so here's what I think probably happened it got an initiation somebody's trying to connect to the world let's generate the world or something like that and um it took too long to generate the world maybe my server is not strong enough or fast enough it is running on an SSD but anyhow so it gets a signal for that and then my client sits there and says well I'm trying to connect to the world but the server never responds after 30 seconds and goes well uh the server's dead but the server was too busy doing something else trying to I don't know load the world or whatever so the first time this happened I just literally went in and reconnected after a certain amount of time I think it just started working so we'll see if that's the case we might have to try connecting a few times I do think that maybe I'll have to work through yeah see it worked I might have to work through some of the errors in the logs for the game engine or game server but um yeah I don't know we'll see so basically this is it I'm in this is my world so now I can uh you know get some friends that to play with me and you don't have to like always have your game up and running they can connect to it even when you're not around which is kind of nice like that's the that's the point that's uh really beneficial plus um I mean that's the biggest Point really that and the fact that you could have the server just running in the background too while you log off which is which is likely the setting I'll be turning on um so yeah so that's it you've got your own satisfactory server and if you did the port forwarding right um it does work I validated with my mom my mom plays this game with me and she was able to connect from her house and uh we played for a little bit and then I rebuilt it so that's it that's all I've got for you guys I hope you enjoyed I hope you uh uh can successfully do this uh server build if you can't figure out some pieces just leave me a comment I'll try to help you out on the on YouTube see you around
Info
Channel: Geekhead
Views: 5,123
Rating: undefined out of 5
Keywords: satisfactory, satisfactory server linux service, satisfactory server manager linux, satisfactory server linux, satisfactory dedicated server settings, satisfactory server config tool, satisfactory server ubuntu, install satisfactory server ubuntu 18, satisfactory server setup, satisfactory dedicated server linux, satisfactory server ubuntu 18.04, install satisfactory server ubuntu 18.04, install satisfactory server steamcmd, steamcmd, install satisfactory server on ubuntu
Id: aA1HVFJDWGw
Channel Id: undefined
Length: 20min 20sec (1220 seconds)
Published: Fri Mar 03 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.