#dedicated-servers
1 messages · Page 14 of 1
In fact, you could try a value of 3599 - it would then auto-save 24 seconds before the scheduled restart. It might work, though I'd call that "cutting it close". Fine-tune it.
tl;dr try to match the auto-saves to a little less than full hour, so that it will be guaranteed to save just before the restart (instead of trying to match it perfectly and risking the roll of the dice on it getting scheduled a tick after)
It's not a perfect solution (the ideal would be to unconditionally save before auto-shutdown), but you have control over both variables, so it's not as terrible as it seems.
Just upload the server log to see what wrong if the server starts up fine then is a networking issue
When it comes to the timeouts helping you - you would need to increase the timeouts on your end as well, for it to work. Remember, there are two sides to this conversation.
As for what the values represent - that's a bit more complicated, and generally useless to you to be honest. Unless these values are very different to each other, you can (and should) treat them as a single value.
They represent the time the game spent doing various things; in general, all four values should be very close to each other, indicating that the game spent most of its time waiting for the network. If they're significantly higher (and by "significantly" I mean at least 1.5x), it would indicate that the game got delayed by the respective part of the process at no fault of its own, and it would reflect in the game having less time to actually do things. For example, if the "system" value was high, it would indicate that Windows took inordinately long to process socket change requests; if the "driver" was high, it would mean that the UE network driver took a long time doing something instead of handling networking like it should.
In general, these should be read as "timeout minus shown value", the result of that being however much time was "wasted" in each subsystem. In most cases, that value will be 0 or slightly negative (which is a result of rounding and syscalls (which do take a moment), and of no consequence for the most part). In general, every increase beyond the timeout value indicates time wasted, and which value is high tells the developers what wasted time. Ideally, you want those values to match the timeout (the result of the calculation being 0), which basically means "all of the time allocated to waiting for the network was actually spent waiting for the network".
Yeah, not exactly. :D
Though it's not an "issue" per se.
It's a case of managing expectations.
Is the server you're playing on configured to pause the game when it's empty?
anyone know of an existing bug ticket where switching items in hands becomes...defective (hands are empty); have to hit F to bring up the build tool then escape and the hand stuff becomes available again until it breaks (usually on hand item switch)
it's hard to search for :C
You might want to use Google - remember to use site:questions.satisfactorygame.com alongside the query.
hey are the mk2 pipes bugged? im having a hard time figuring why the water stops flowing into coal power plants after few minutes
nvm somehow got it to work
there's a lot of derps with conveyors and pipes
if there's a place it isn't working, just replace it and it should work (had one case where it didn't)
yeah replacing is what i just did but it still not flooding with the full amount of water until the end of the pipeline
ill keep an eye anyway thanks ^^
more pressure can help with that
alternatively, make pipes drop down into consumers rather than pump up
oh well that needs me rebuilding the entire coal power plant xD
ah...naw...it should be fine given enough time
it seems to work for now
yeah i hope so i just added an extra water pump just to make sure
5 pumps in mk2 pipe is enough to satisfy 13.3333 coal generators 😉
yes i got 6 pumps for 13 coal generators running now lol
👀 one pump gonna idle
but yeah, that .33 extra will eventually fill all the pipes
i'd double check and make sure they're all working...one of them might have a bad pipe connection
maby i should try let the water flow from the middle and go left and right into the generators instead of coming from one side only
but 13 generators water consumption is 585m³ so 5 pumps is plenty
pressure upwards is also fine
but yeah its prob them derping
aye will do
I'm torn between wanting action, and wanting other people to help out. 🤣
Or, to put it another way: YAY people are active here, BOO I didn't get to troubleshoot. 😂
have anyone made a what not to do on a server guide in terms of lag. just so i don't go make lag machines like singleplayer xD
As far as I know, it's very difficult to make the game actually lag.
The defaults are set up in such a way as to make that very difficult, because the entire point is to build a lot of shit.
In fact, I have yet to see any sort of "lag", except when it's saving the game. The faster your CPU (single-thread), the shorter the delay will be.
trouble with that is once you finally managed to make it lag, it's equally difficult to make it stop lagging 
Technically, you won't be able to make it lag.
I mean, there are two ways to make the game lag:
- having a potato CPU running the server, and
- building so much that the game actually lags
The second point is the most commonly expected issue, and also kinda impossible due to how saving the game works.
You see, you're going to run into save times in excess of 2 minutes before you manage to build enough to outright lag the game.
You'll run into timeout issues long before you build enough to cause the engine to lag.
Any other situation where the game lags would likely be very case-specific, and thus not a general concern.
tl;dr -- you can't lag a DS; you'll run into timeout/save-time issues long before you build enough to start lagging (for the common definition of "lagging")
If your intent is to produce massive builds that would bring a gaming PC to its knees - single-player is the way to go.
will there be a creation of a launcher for simple server launches?
Well starting to have some hickups in terms of not placing stuff. Suddenly teleporting back a bit. And such. So idk about not lagging a dedi xD and specs Def ain't the issue xD its more or less if there's certain things that make tick lag that people are aware of I'm out for.. and single payer ain't an option when it's a larger group playing a many different time zones XD
Linux got LGSM. It's basicly a auto installer and script for servers aswell as updating etc.
perfect! i was waiting for the full release before creating one and was just wondering how simple it was. and i got spoiled with some dev made launchers
Well my to go for Linux game servers is Def LGSM they make scripts for many different game servers that's compatible with Linux ofc.
Yeah they got ark too hehe xD
F
Ugh, launchers.
The developer provides the server. They're not in the business of providing launchers.
If the developer only provides the server, then third-party providers (like LGSM, Pterodactyl etc.) can provide management tools as required, or you can go without.
If the developer does provide a launcher, then if it's not compatible with your particular OS, or you want to use something else, you're fucked. At the very least you'll need to take their launcher apart and figure out the core command to launch the server. At worst, it's an integrated GUI launcher, and you can wave headless Linux bye-bye.
I guess my frustration with ideas like that comes from the Satisfactory modding community, as well.
As I understand it, they want to hold off on DS mods so that they can have some sort of a deployment/delivery method in place as well.
And I'm thinking to myself: why delay giving the DS mod capabilities for automation of something I can do by manually unpacking ZIPs and copying files?
Yes, I know it's not the deciding factor there, but... it bothers me.
Like - I've been hacking game files for over 2 decades; don't fucking baby me, let's go!
What hard coding in ARK?
What's hard-coded in ARK? From my experience, it's more flexible than a number of other UE games, including Satisfactory.
Writing a launch file and changing server settings
I just got my own servers a while back and have just gotten into linux I learned a lot from ark and navigating linux and i know they are not in the buisness of making the launchers I have just seen some devs make them recently so I wanted to know if I needed to start up my linux or windows server
I think we're having a nomenclature issue here. In computers, "hard-coded" or "hard coded" means that something is not changeable, and can't be a parameter, because it's written directly into the code of the program.
Ahhh
ARK has tons of start-up parameters to use. It actually makes it very simple to manage multiple servers at once, because you can just incorporate all of the changes into the startup command, instead of having to hunt down config files and such.
I did notice that. Which was super cool. Haveing characters be able to change between maps. I just started a conan server and they provided a launcher which was very simple to use. I will need to see if that blocked out linux operations because of that
Windows-exclusive.
It used to work under Wine, but some of the recent patches killed compatibility.
I had to spin up a Windows machine to move my servers.
Also, the server doesn't come with a launcher - thank fuck.
If I had to deal with their "Funcom" launcher on that as well, I'd probably bloody murder someone.
Or maybe it does, but I don't know it exists, and I think we're all healthier if that's the case. I'm in no hurry to look.
And yeah, it's difficult to daemonize a launcher.
Scripting virtualised desktop mouse clicks is not fun.
Very true
But yeah, may the Nine save us from Funcom's help. I'll settle for them not fucking it up further. 😂
Each time I see the message that I'm not allowed to build here, I scream in joy.
Lol
Because why would they give complete control over to the server admin, right?
Why.
The only game worse about it was Dark and Light, with no-build zones that extended around cities like the Exclusion Zone extends around fucking Chernobyl.
(though I could understand... if you visited one of the official servers, what you'd immediately notice would be a veritable forest of the cheapest pillars for the immediate purpose of area denial...)
(just never made sense to not provide a goddamn config option to turn it the fuck off)
Hello some problem with save, LogGame: Total Save Time took 32.979 seconds UChannel::CleanUp: ChIndex == 0. Closing connection.
how to desable auto save?
and how manualy save game?
@quick moon why does it take so long...
How big is save
10M
Is it just me, or did the dedicated server improve big since i played about 1/2 year ago or so? No crashed when saving, tick rate seems to be fixed. Nice!
Rubberbanding is a thing for us (4 Player)
Hi it seems i cant update my server now, i have done it before and have change nothing, its running on my owen seperat pc
have somthing change the last month ?
hey guys, i just wanted to know if the server keeps progressing time even if no players are in the server
Might take awhile to get an answer from someone who knows. You could check out this page on the wiki in the meantime: https://satisfactory.fandom.com/wiki/Dedicated_servers/Configuration_files.
hi everybody, does anybody know how to fix the Session id being = InvalidSession?
Hey, does anyone has experience in hosting modded multiplayer on dedicated servers?
tried restarting but still no difference
Or how do i change my session type?
it wont change from private
If you don't have it pausing on empty session then yes it'll continue
The mod community does not currently support the dedicated server.
You can tell all of your players to increase their timeout values to 60 seconds, and do the same on the server. Then set it up so that it saves every 30 minutes or so, maybe?
Remember that the server auto-restarts every so often, so you want auto-saves to happen.
is there even a save location for linux servers so i can download a save? looked true all folders and cant find jack
Yes, it's in ~/.config/Epic/FactoryGame.
for the steam version?
For any version.
Dedicated servers don't have "sessions" in the listenserver sense; all communication is through IP.
ah okay
got no such folder with lgsm lmao.
or im blind af
legit doing a system wide search for an epic folder xD
It should be noted that there's a bit of a confusion in nomenclature: "session" for listenserver (i.e. the single-player-with-friends) means a connection; "session" for dedicated server means the save game.
~ means "home directory", look in the home directory of the user the server is running under
yeah its not in the users home dir
If the server is running and has a session (save) loaded, it must be.
Well, I did mention it's in .config
so yeah, you need to show dot-names, which tend to be hidden by default from stuff like SCP, SFTP, FTP, WWW...
hello does anyone know why on my dedicated server it goes online and allows me to join and then kicks me and shows the server is offline
How much RAM does your server setup have?
8gb
np
I am running 32gb ram and hosting 8+ people on same computer im playing from, we are seeing some graphical anomalies but nothing hame breaking yet. Just added 3 new people today so we will see what happens. lol
am I missing something or is there zero administrative tools in this aside from kick?
disregard if you were looking up my prior messages, the belt gremlins responsible have been sacked.
i've been crashed twice now (client) because another player connected to the server placed a conveyor lift 🤔
That's new. Log?
Zero admin tools, yes. No access controls beyond a password (and whatever you can cook up outside of the game, like IP-based filtering).
If you're talking about items seemingly "disappearing" from belts, that's normal.
it's not affecting the other player in the server so it's definitely client side
My account is the one that created the save for the server. Is there a way to force a save since I need to force a reboot of the server?
has both of them
You can always save a manual save.
And that forces the server to save current progress?
Yes, but as a separate save, which you will then need to load.
You can alternatively configure your server to save when players quit,
then join and quit it.
It will then go to the auto-save.
Yeah, I don't want to have to mess with it that way. Saving and then reloading. Is there no way to force it to just save to current save like most server setups?
interger_divide_by_zero
FactoryGame_FactoryGame_Win64_Shipping!UFGUnlockMap::__DefaultConstructor+0xbdd
FactoryGame_FactoryGame_Win64_Shipping!AFGConveyorLiftHologram::OnRep_TopTransform+0xbe```
integer_divide_by_zero
FactoryGame_FactoryGame_Win64_Shipping!UFGUnlockMap::__DefaultConstructor+0xbdd
FactoryGame_FactoryGame_Win64_Shipping!AFGConveyorLiftHologram::OnRep_TopTransform+0xbe```
identical
No. You can connect and then quit with the "Save on player exit" option turned on.
This server doesn't even have a remote console.
yeah, I hate there there is no gui to the server itself let alone the ability to adjust anything outside of the game. But I enjoy the game. So I deal with it. I was looking and not seeing much, but do we know how often the server does a save.
I don't care for any GUIs for the server - in fact, I'm happy about there not being any bundled. There are third-party tools to deal with that, and I prefer no GUI to the abomination Conan: Exiles has as a "launcher".
As for no RCON or the ability to manage the server with third-party tools... yeah, that sucks ass.
Yeah, I never used any other Server manager for Conan Exiles or Ark but ASM and CSM. What they did for those launchers is amazing and gives you complete control. But that's only cause CE and Ark give that much control.
I don't use third-party managers at all, myself. There's something that speaks to me in doing it all by hand, or writing my own tools.
Unfortunately, I am coding stupid. lol Can't wrap my head around it. I'm sure if I had someone right there explaining things to me as I went, but otherwise, I go derp.
Luckily tho, I've been learning UE and not having many issues.
Well, not everyone needs to be a programmer. :)
No, but being able to understand what is happening or what's wrong with certain things would be nice.
True.
But you don't have to write code to understand code. At least to some extent. Obviously, being able to write the code will help you greatly, and understanding code will make you write it better.
That's pretty much what I mean
As long as you understand the concept of programming in its expression, everything else is fluff and you can be a programmer.
If you don't - you can't be a programmer, and you'll never get it.
It's that simple.
so how do i report these crashes?
Oh yeah, I never replied to you.
It crashes on a lambda function triggered by static mesh building.
It honestly looks like you have corrupt files.
Do a file check.
Then report it, but explain what you just told me.
Otherwise you'll get the same reply - check your files.
how to report?
Anyone else notice that servers seem to have problems with conveyor splits and mergers on lifts not updating properly if you upgrade the belts feeding them. As I seem to keep running in to it where the spliter still thinks the belt for its imput is slower then what it is and is not taking in and out putting as the new belt speed
Uhhh... can you reword that into separate sentences?
Or even write it out in the format of "What I expected would happen / what actually happens"?
1 build conveyor lift
2 attach splitter to one end
3 added a feed belt and a second output belt
4 upgrade the in and out belt but not the lift
5 spliter only takes in the slower speed of the old belt
6 question?
Hm, interesting. Splitters technically have infinite speed...
If any output belts should be available, it should just feed to that.
Yea that's why I I think it's an update bug since the only to fix it I have found is to destroy and replace the spliter
It is also worth noting it's not a 100% change it bugs but is more like 40-60%
Is this a DS-only thing, or can you replicate in SP?
Ds only that I have seen tho it may also happen in sp would have to do some testing on it
If it also happens in SP, it becomes a general game-logic bug, which makes it much more likely to be looked at than a server-exclusive issue.
i might run into johine's issue soon...gonna be upgrading Mk3 -> Mk4 soon
Like I said needs testing to see if it dose
And I just want to provide you with some incentive. ;]
I'm trying to start a multiplayer server. I'm currently on ubuntu server, and installed the satisfactory server via steamcmd. When I try to boot it, it spits out errors about the STEAM API, then this ```[2022.10.16-02.48.10:285][ 0]LogStreaming: Error: Couldn't find file for package /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT1 requested by async loading code. NameToLoad: /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT1
[2022.10.16-02.48.10:286][ 0]LogStreaming: Error: Found 1 dependent packages...
[2022.10.16-02.48.10:286][ 0]LogStreaming: Error: /Game/FactoryGame/Prototype/WAT/Desc_WAT1
[2022.10.16-02.48.10:293][ 0]LogStreaming: Error: Couldn't find file for package /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT2 requested by async loading code. NameToLoad: /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT2
[2022.10.16-02.48.10:293][ 0]LogStreaming: Error: Found 1 dependent packages...
[2022.10.16-02.48.10:293][ 0]LogStreaming: Error: /Game/FactoryGame/Prototype/WAT/Desc_WAT2
@sturdy leaf need help still?>
strange specs of server?
well it is running ARM64 with box64, but (and I'm probably 100% wrong here) it doesn't seem to be related to that?
arm cpu?
I'm using an emulator, but it seems like some files are missing? I honestly have no clue.
so game is running on a emulater?
yep
Okay, so this is clearly a very nonstandard thing. :D
I actually toyed with trying to run the server on emulation.
Can you trace what the executable is doing?
Still, could it be crashing on SSE? ARM doesn't have SSE, it has SIMD.
@sturdy leaf
Not sure how well that translates.
(the developers could try including some compatibility for ARM, since from what I can find on GitHub - there are translation layers that mostly deal with SSE to NEON/SIMD... but I do believe it was said that there was no plan to include ARM support)
@blazing halo why run it on arm tho
Why not?
I wanted to, at some point. Just to see how bad it'd be. :D
Besides, there's some ARM hardware you can take advantage of that's showing up on the market.
Ampere® Altra® Q80-30
Single-Threading
RAM: 128 GB DDR4 ECC
Disk: 2 x 960 GB Datacenter NVMe SSD
Connection: 1 GBit/s port
Guaranteed bandwidth: 1 GBit/s
Backup space: 100 GB
Traffic: Unlimited *
did it ever work for you?
I never got qemu working right.
i might have to try it
Which is funny, because I originally managed to get the other way going fine, when I was staging the root for the ARM board from my x64 machine...
What's oricale?
Ah, Oracle.
ya
verified, friend placed conveyor lift, i crashed again
specs?
We already know he's seeing a client crash on mesh construction.
It's a specific client-side crash, and we don't currently know if it's something the server sends, or if it's a bug in the client.
Could you try reproducing in SP, though?
new veggies just dropped
?
?
idk it sounds like the name of a vegetable
🤣
🥒
TAKE THAT BACK!
😂
A cucumber is better as ||a female masturbatory aid||.
The banana kinda breaks off.
rofl i know lol
maybe lets not go there
Agreed.
ya....
Real mature, aren't we.
ya your right...
it's only when he places a lift...sometimes
but i've never crashed him
he's got a 6700 XT, i got a 6800 XT but if this is a driver bug...it's super weird way for it to crash the game, no?
driver is same branch...so not that
maybe its because WAN versus LAN?
he gets 2-4 ms more time to get the right data compared to me
It doesn't work that way.
I still think it's something on your end, though, for whatever reason.
my latency is 0-1 ms, his is ~4 ms
It doesn't matter.
netcode is coming in faster than rendering 🤣
The server doesn't send out "wrong" data.
It always sends out data it believes is right.
That's how computers work.
but he's drawing a frame with 4ms old data where i'm drawing with 4 ms newer data
But it still doesn't matter.
Why would the ID of the belt have changed between then and now?
it's not the ID that's the problem, it's division by 0
Also, 1 tick (assuming 30 ticks/second) takes a little over 33 ms, so a 4 ms discrepancy means nothing on that scale.
oh, right, so 30 is max
Still, that's pretty goddamn low.
it's all over the place
So the server's CPU is a potato?
not particularly, it's a 1230v3
It's a 10yo CPU with 3.3 GHz (turbo max 3.7 GHz). It's not a potato, but it's clearly struggling.
You should be getting 30 ticks/s. It's like FPS, but for the server.
Hell, on my i7-3770, I'm getting 60.
got a lot of production stuff going on
anyway, they gotta figure out what is doing division and if denominator == 0, deal with it
It doesn't work like that.
it does, you can't ever divide by zero 🤣
It's like trying to scoop out the mucus in your lungs when you have a cough. That's not how you fix the illness.
the problem is the something to do with the static mesh for the lift
The problem isn't the division-by-zero issue. The problem is that some value becomes 0 when it shouldn't, and they need to track down what and why.
And it's usually a chain of events.
For instance (and I'm conjuring this example out of my ass, for the record), it could be going something like this:
- the server sends out a "create object"
- the server sends out an object ID
- the client never receives the object ID for some reason
- the client creates a new object, but uses a default template
- the rendering queue picks up the object
- the rendering queue determines it's a buildable, invokes buildables code
- the buildables code tries to draw the object
- the buildables code attempts to determine the mesh size, deploys a lambda (anonymous function) to handle mesh construction
- the lambda attempts to get scaled dimensions
- the object is a default object, all values are 0
- division by 0
So as you can see, "division by 0" isn't the core issue in that example.
The code does exactly what it's told to do.
This concept in computing is often called "garbage in = garbage out".
The game crashes, but that's technically not an issue - it would've had to abort at that point anyway.
that's exceptionally low
wait wait wait, what does that network quality setting technically do?
is it a Mbps cap?
Kinda-sorta. Eh.
It determines bandwidth allocation, but that actually influences more than just bandwidth.
i have it set to default
There's no reason to have it set to anything other than the maximum setting.
Even then it's something like 1-2 Mbps.
Usually less, I'd reckon.
this is blowing my mind
Especially if you're on the same LAN as the server.
But you're looking at port 22, yeah?
on the switch, they're out of order to compact the picture
Ah, so switch hardware port. Okay.
BY-2021 is my computer, Server has DS
ohhhhhhhhh DERP, it's Steam downloading
😐 Satisfactory is only using 0.3 Mbps with some jumps up to 3-8 Mbps
is there an easy way to set it to use more (always)?
No.
While normally you'd use .ini settings to increase the allocation, it is my understanding that these don't actually work for this game.
FG.NetworkQuality 3 (ultra)
👀 Wiki says:
Configuration changes made at the server Console (e. g. FG.AutosaveInterval) are stored to disk upon a graceful server shutdown, and do not need to be re-implemented when the server is restarted unless the configuration files are removed or reverted.
NetworkQuality is set to 1 (default)
see if he crashes me again 😂
Ah, right. But that's a setting you can set with .ini files. I think.
Or maybe not.
How would I go about doing this? I'm fairly new to linux.
I've also tried 3 or 4 dockerized versions of the server, each of which runs fine on my windows laptop, but fails to find the entrypoint file on the server.
That's weird something like that would behave differently windows to linux. How do the filepaths for the entrypoint look in your dockerfile? You'll probably have at least two something like...
COPY init.sh /
ENTRYPOINT [ "/init.sh" ]
Where would the dockerfile be? I'm sorry, just fairly new to all of this
I'd usually expect it in the root folder of whatever project you grabbed. I'm using https://github.com/wolveix/satisfactory-server with a couple tweaks for mine
That's the one I tried. I am running on ARM with box86 on box64, so that could be the issue.
ahh, this might still be relevant then https://questions.satisfactorygame.com/post/6154aa79831c85205234f9d5
Yeah, I saw that. I'm at least attempting to use an emulator
yeah I'm probably not much help with anything that specific for arm 😆
if it's an arm thing and not a satisfactory thing it might be worth googling your error and seeing if anyone has workarounds
sounds like you may not even be getting to the satisfactory parts of the container running
Yeah been doing it for a while. Seems to be a sorta niche thing. The only reason I'm even on ARM is because Oracle offers a free 4 core 24 gig server.
and I don't think it is. I also tried installing it normally, which gave a completely different error.
i can't see DS running on ARM
most ARM devices don't even have enough RAM installed to run it
True enough...
strace -tf whatevercommandyouusetorunsatisfactoryds | tee /some/path/to/a/logfile.log
Best GH comment that makes my day every time I see it - I guess I'll stop playing the game until the memory is reduced lol :D
it ran flawlessly on 6gb a few days ago oh my :D
are the server single threaded :)]#
Sorry for the slow reply, here are the logs.
Are you sure that's a trace log?
Should look more like this:
22:02:18 execve("/usr/bin/ls", ["ls"], 0x7ffce85fca68 /* 22 vars */) = 0
22:02:18 brk(NULL) = 0x56525ccdc000
22:02:18 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
22:02:18 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
22:02:18 fstat(3, {st_mode=S_IFREG|0644, st_size=58767, ...}) = 0
22:02:18 mmap(NULL, 58767, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4293018000
22:02:18 close(3) = 0
22:02:18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
22:02:18 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220}\0\0\0\0\0\0"..., 832) = 832
22:02:18 fstat(3, {st_mode=S_IFREG|0644, st_size=166120, ...}) = 0
22:02:18 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4293016000
22:02:18 mmap(NULL, 177672, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4292fea000
22:02:18 mmap(0x7f4292ff1000, 102400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f4292ff1000
22:02:18 mmap(0x7f429300a000, 32768, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x7f429300a000
22:02:18 mmap(0x7f4293012000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7f4293012000
22:02:18 mmap(0x7f4293014000, 5640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4293014000
22:02:18 close(3) = 0
22:02:18 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
(...)
That's what was spit out when I entered the command. Lemme try again.
So strace -tf /home/ubuntu/SatisfactoryServer/Engine/Binaries/Linux/UE4Server-Linux-Shipping FactoryGame | tee /some/log/file.log
gimme 1 sec to copy the logs off the server, it's too long to copy from the ssh window
It should be several to several hundred MB, so... yeah.
That's why I included tee.
(you need to give me the /some/log/file.log whatever you set it to, it won't be in the Satisfactory log file)
Here's exactly what printed out when I typed exactly this: strace -tf /home/ubuntu/SatisfactoryServer/Engine/Binaries/Linux/UE4Server-Linux-Shipping FactoryGame | tee /home/ubuntu/file.log
I need this file: /home/ubuntu/file.log
I typed in the command above. Here's the actual file:
k
It's longer than putty will display, but here's some of the text:
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine/Plugins/Experimental/GeometryProcessing/Binaries/Linux/libUE4Server-GeometryAlgorithms-Linux-Shipping.so", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine/Plugins", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine/Plugins/Experimental", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine/Plugins/Experimental/GeometryProcessing", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine/Plugins/Experimental/GeometryProcessing/Binaries", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
[pid 28919] 20:15:14 readlinkat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/Engine/Plugins/Experimental/GeometryProcessing/Binaries/Linux", 0xffffc7881950, 1023) = -1 EINVAL (Invalid argument)
Yeah I know, that's just not what's being saved to the log files and I have absolutely no idea why
You could try strace -tf /home/ubuntu/SatisfactoryServer/Engine/Binaries/Linux/UE4Server-Linux-Shipping FactoryGame 2>&1 | tee /home/ubuntu/file.log
(notice 2>&1)
I'm not sure where strace pushes the output.
Might be stderr...
Yeah, it writes to stderr.
Apologies. Don't use it often enough to remember small details like that.
Yeah, that's a good sign.
There.
terminating with uncaught exception of type std::bad_cast: std::bad_cast
Happens at [pid 29085] 20:23:13 so whatever it was, it happened just before then.
Any idea how I could fix that?
You? I doubt it.
Word from god is: one of the plugins they're using has a license that explicitly prohibits running on ARM.
It's possible this is a symptom.
Also, notably:
mkdirat(AT_FDCWD, "/home/ubuntu/SatisfactoryServer/FactoryGame/Saved/Crashes/crashinfo-FactoryGame-pid-29085-BB4CB0B68BCC46AD946FAB98EAF9F419", 0775) = -1 EACCES (Permission denied)
The server doesn't have sufficient write permissions to create a crash log, which might tell us more.
Would be good to grant write permissions to /home/ubuntu/SatisfactoryServer/FactoryGame/Saved to see what it says in the crash report.
No need to trace it further, we already know everything we ever will from that.
I'm just curious as to what it thinks caused the fatal.
It seems to be this: [2022.10.16-02.15.36:391][ 0]LogStreaming: Error: Couldn't find file for package /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT1 requested by async loading code. NameToLoad: /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT1
[2022.10.16-02.15.36:392][ 0]LogStreaming: Error: Found 1 dependent packages...
[2022.10.16-02.15.36:392][ 0]LogStreaming: Error: /Game/FactoryGame/Prototype/WAT/Desc_WAT1
[2022.10.16-02.15.36:399][ 0]LogStreaming: Error: Couldn't find file for package /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT2 requested by async loading code. NameToLoad: /Game/FactoryGame/Schematics/Story/Schematic_ObjectScanner_WAT2
[2022.10.16-02.15.36:399][ 0]LogStreaming: Error: Found 1 dependent packages...
[2022.10.16-02.15.36:399][ 0]LogStreaming: Error: /Game/FactoryGame/Prototype/WAT/Desc_WAT2
[2022.10.16-02.15.36:418][ 0]LogActor: Warning: SetReplicates called on non-initialized actor Default__FGSimulatedWheeledVehicle. Directly setting bReplicates is the correct procedure for pre-init actors.
[2022.10.16-02.15.36:858][ 0]LogNiagara: Warning: NiagaraSystem /Game/FactoryGame/VFX/Factory/Doors/NS_DoorClose_01.NS_DoorClose_01 IsReadyToRunInternal() failed due to missing SystemScript. Spawn[<none>] Update[<none>]
but no idea
No, it's not.
Find the crash report, and in it - the context file. Hand that over.
Yeah, bad_cast is a big one - it means that some variable type would be converted to a different variable type, but data would be lost in the process. It usually hints at the fact that the target architecture either lacks the required data types, or they're different enough that it won't work. Usually, the solution is to just recompile the program against the target architecture (here, aarch64 most likely), but that's a no-go as long as they're using the plugin that explicitly may not be executed on ARM.
ah well. Thanks so much for the help, I really appreciate it
I still want that context file.
oh sure, where would that be saved?
Saved/Crashes/some folder with the crash info
(as soon as you give it write permissions to write there, and re-run it until it crashes again)
Yeah.
Meh, says the same thing.
libUE4Server-Core-Linux-Shipping.so!FUnixPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*) [D:/ws/SB-220602145101-842/UE4/Engine/Source/Runtime/Core/Private/Unix/UnixPlatformStackWalk.cpp:693]
Weird.
But eh.
well, thanks once again, sorry for my incompetence lol.
Meh. It's fine.
Sucking at something is the first step towards being kinda-good at something.
And you didn't suck. I've had people here that sucked oceanic trenches before.
You were tremendously useful in comparison. :D
It's possible that they'll end up removing that plugin (there's a number I would recommend they remove, in fact, since they're not needed server-side and only take up RAM and CPU), and then ARM might happen.
Still not sure how well it'll do with the RAM and CPU speed limitations. We'll see.
Still, ARM machines with significant resources are starting to become a consumer-grade thing, so that might not be an idiotic idea.
welp, friend crashed me on Ultra so...nothing i can do to stop it from happening :C
Have you tested on SP to see if it can be reproduced there?
Also, I never expected the network quality setting to affect the crash. Not sure why you thought it'd help.
it can't even when i'm in DS by myself, it never happens
it always takes him building a conveyor lift to crash me
i didn't but doesn't hurt to try
It doesn't hurt to try tarot, either. That next on your agenda? ;]
(it's a damn shame divination isn't a thing, to be honest... it would be wonderful in programming)
Anyone else crashing you when they build a conveyor lift? Any specific grade of the conveyor lift?
I can try joining and testing with you, if you wish. Though it's possible I won't be able to, as my NAT seems to dislike Satisfactory something fierce. I'll figure it out, one day.
you got PM and server is port forwarded/open so NAT isn't a problem
It is on my end. :D
this makes no sense though 🤔
Yeah, it seems my NAT strikes once again.
I have no clue what it does differently, but it does something.
It looks like it subtly breaks the TLS encryption, somehow.
I just tried connecting. If your server log shows a number of "Ignoring handshake packet after handshake completion", it's the issue I'm thinking of.
I assume the ports are the default, 15777 and 15000?
Looks like they are - 15000 and 7777 both respond to me.
Damn.
yeah
i've had a problem with MTU being set to anything other than 1500 bytes in the past
it caused weird stuff, especially in Unity games
Yes, well, if it's something like that, then I'm certainly not about to switch settings just because a game is broken.
but game not broken, it's some router/net config issue
How would setting a different MTU, which is a legit setting, and a particular game/engine not working with it, be a router issue?
in my case, it's bad net code in Unity 🤣
- which is literally "game/engine broken"
something easy to test tho
Not exactly.
is for me ¯_(ツ)_/¯
just one value in the router...i think the reason why i discovered that was it was because i was trying to play around with jumbo frames
Is for you, but I doubt you have 5 different networks being routed.
Alas, it seems I never messed with MTU this iteration, it's at 1500.
Heads-up on jumbo frames: the entire connection must support them, one way or another. If there's a link that doesn't, you will get no warning - things will just not work.
i know 😦 why i had to disable it
i think the problem is Windows...kind of...doesn't really...like it...
And considering that half of the Internet doesn't support jumbo frames... it's actually kinda impossible to use.
networks always chop up packets to MTU rule when it bridges
Nah, Windows is fine (you have to set a few different settings tho'). It's the routers that don't support jumbo frames, and don't support refragmenting them.
so LAN can be 9KB, but router bridge to WAN chops it up into 1.5 KB packets
yeah, i should try it again
Again, if you enable jumbo frames, you're willingly cutting yourself off from part of the Internet.
Which sucks.
Your network can support them perfectly fine and it still won't work correctly.
i have different ISP and no more unmanaged switches since last time i tried, so might work now
Many don't, as I've come to find.
I'm telling you, there's only pain & tears down that road.
it's kind of stupid that they don't because jumbo frames cut down on router overhead
ditto
(I was gearing up for 10 Gbit)
But, if you have non-Windows setups, you can get 2 Gbit between Linux machines.
It doesn't work on Windows, for a number of reasons, but otherwise...
yeah...which is why i lean towards it's Windows 🤣
No, Windows supports Jumbo frames perfectly well.
That I know for a fact.
It even plays nice with Linux.
I wouldn't be surprised if my issue came from the macOS side of things, actually. I mean... Apple.
But I'm told Apple supports jumbo frames as well. At least in theory.
assuming TLS handshake is the cause...that's like networking 101
I'm sorry, what?
why you can't join
I know it's the TLS handshake. I don't know why it's the TLS handshake.
i'd do wireshark
Satisfactory is the only thing (game, app, server, whatever) that is giving me trouble.
And find what?
SYN, ACK, ClientHello, ClientKeyExchange, etc. packets
once you figure out where in the chain the break is, should at least pinpoint the problem
The break happens on the returning ACK from the server to the client.
That I know well enough from logs on both ends.
oooo i think i had a similar problem when software switching
The client ignores the ACK, and re-sends the handshake. The server ignores the resend because it already completed the handshake.
the router (pretending to also be a switch) wouldn't relay certain types of packets to the ports
What was the solution?
hardware switch 🤣
Right. That's unhelpful, unfortunately.
8-port router -> 3-port router
added 24-port managed switch under the router
Still unhelpful.
what is your topography between WAN and your system?
can you try circumventing the switch?
The switch is not the issue. I can connect to my LAN server just fine.
no no, i mean to connect to my DS
try w/o switch, then try w/o router
might expose the problem
I know that if I connect to a tethered GSM, I can connect to other servers no problem. So I know it's my router.
Yes. Except it's FUBAR specifically for Satisfactory.
No other service is affected, either outgoing or incoming.
(that I know of)
bad firewall rule?
Tried with an empty ruleset. No change.
oooo maybe it's TLS version? router super old?
Router is a Debian machine, running latest stable.
Besides, router should not touch TLS.
👀 pretty sure it's a config issue but i can't really help with that
It should all look like garbage to it. And it does.
Packet filtering doesn't touch packet contents.
the handshake isn't garbage, that only comes after it's changed from TCP to TLS
the handshake is not encrypted
Regardless, it's a binary protocol.
And it's a protocol the developers are in full control over, in theory.
So it's not like I can rely on knowing anything about it.
pretty sure they're just using standard UE4 stuff
And to make matters more difficult, it uses mixed endianness.
👀 that's kind of silly
You see, I already did a sniff with Wireshark.
Several, in fact.
Came out no wiser for it.
It's Unreal Engine.
It uses mixed endianness all over the place.
bizarre
Unreal Engine.
unreal
I've written enough rants on some of the more questionable choices UE devs have taken.
well...multiplatform support has it's price
CSS aren't blameless in this, either.
I still don't fully understand why they decided to go with DTLS.
What's the point?
low latency
What does encryption have to do with latency?
(and since it's more complex than plain packets, all it can do is increase latency, if it affects it at all)
it doesn't really, but TLS uses TCP which is high latency because it assumes all packets are bad until confirmed
But why use encryption at all?
DTLS piggybacks on UDP which doesn't care whether or not the packets arrive
(and if you need ordered shit, why not just use TCP?)
because 21st century :C
the internet is f-i-l-t-h-y 🎵
Doesn't change the fact that this did not need encryption. At all.
i would support a suggestion to enable an option to disable it
ARK gets by fine. Conan gets by fine. DnL gets by fine. ATLAS gets by fine.
Why does Satisfactory need encryption?
my guess is that's the UE4 default/recommended protocol
because then developers don't have to care about sensitive data/hacking
- unless you can get in the middle of it during the sensitive setup phase
And since that's also the only time when whatever sensitive information is transmitted,
I still don't see the benefit.
I can see several drawbacks, however.
i kinda do, privacy is super important these days
... when was the last time you've seen a firewall that inspects packets?
mine?
What's the name of your firewall?
has deep packet inspection
Ubiquiti
i'm thinking more like "the great firewall of China"...but anywho, getting off topic
obviously there's something wrong in your setup with DTLS support
instead of letting the data flow, it drops it
From everything I can tell, Ubiquiti uses a packet filter.
(like iptables, but not iptables specifically)
It's a stateful setup, but it's not a firewall.
DPI can work in conjunction with firewall and QoS policies configured on the EdgeRouter.
That says nothing.
> in some cases even encrypted traffic
This is an instant red flag. Does it unravel encryption?
maybe? dunno
If it does, it needs to die.
probably just taking handshake header data (if it's not encrypted)
If it does, it needs to die.
i keep it off because it's intensive ¯_(ツ)_/¯
The entire point of encryption is that nobody can see what's being sent.
it's not a supercomputer, it can't break secure encryption
only the flimsy potato stuff 🤣
it can, especially unencrypted stuff
it recognizes patterns in some applications even if they're encrypted
i forget what, had it disabled for over a year now
If they're encrypted properly, it can only guess.
my guess is you could fix your problem with a proper router ¯_(ツ)_/¯
And by "properly encrypted" I mean set up such that even identical messages are completely scrambled and can't be compared with each other.
DPI is more advanced than conventional Stateful Packet Inspection (SPI) filtering. Ubiquiti’s advanced, proprietary DPI engine includes the latest application identification signatures to track which applications (and IP addresses) are using the most bandwidth.
The traffic analysis feature provides monitoring and reporting functionality. There are no licensing fees for DPI or signature updates, which are automatically updated on a periodic basis to maintain the accuracy of application identification.
So they're guessing.
educated guessing, yes
And it's more of a statistics analysis tool than anything else.
So, not a proper firewall.
Okay. That clears things up.
DPI feeds the firewall
And bringing up China's Great Firewall... is kinda lame. I mean, yes - it's a proper firewall, actually. Possibly one of the few left in existence. It uses various methods to unravel and inspect traffic invasively, and it's used as a tool of oppression.
what they do is prohibit everything that doesn't have unencrypted headers
in other words, if they can't spy, they won't let it through
i suspect DPI uses similar methods + pattern recognition on top
Which is nice for statistics, but crap for actual packet inspection.
It wouldn't touch modern HTTPS, for instance.
not really...it's effectively a corporate firewall so, for example, you can tell it to firewall Steam and Steam will have a hell of time getting in
pretty sure i remember Steam being one of the things it found
But it's still a guessing game.
If something looks "like STEAM" it also won't get through.
Steam tends to use certain port numbers, and then DPI compares that to a typical Steam download pattern, and between the two, get high degree of certainty that it's Steam
Port numbers can be blocked vanilla.
have you checked your router config stuff for DTLS support?
It's a Debian machine.
well yes, but some types of traffic you want to block on it but not all
I don't understand your question.
there's gotta be some config issue with that machine/software it is running
has anyone else ran into the issue with DTLS failing handshake on it?
It's running iptables. It's on layers 2 and 3. DTLS is, arguably, layers 5/6.
It's data, as far as iptables is concerned.
No idea. How would I check?
you're not running any router software on it? just an iptable?
Why would I?
I'd be killing 99.9% of the potential of this machine.
It's a quad-core 1.7 GHz 4 GB DDR3 machine with 4 physical GbE.
because it's obviously failing properly route DTSL
For Satisfactory, yes.
Like I said, I have no issue with literally anything else.
Other UE games - fine. Web services - fine. VPN - fine. Torrents? Fine. Web traffic? A-OK.
do any of those use DTSL tho?
i don't think so... DTSL is low latency...none of those things require low latency
If only Satisfactory has an issue, the issue is more likely with Satisfactory.
but only you're having problems 🤣
If I could get my hands on some sort of a test setup, where I could just launch CLI stuff to test DTLS specifically, I could tell you more.
i was hoping there was a free DTSL test website but...nope 😦
My router is a Debian box.
the problem is Debian
thousands of routers out there without any problems...so i doubt it's the game
I'm pretty sure AWS isn't Debian. :D
it's some custom OS
Though hell knows.
Because, like explained in the link I linked, someone tried setting the server up on AWS, and got the exact same issue.
I'm fully aware that the issue is, more than likely, a specific interaction between Satisfactory and my router setup.
And I assume AWS has the same issue, because they likely went about it the same way.
The question is what's the core of the issue?
Saying "it's Debian" is a non-answer.
is clueless about Debian :C
all i can tell you is that i use Ubiquiti equipment here and ❤️ it
Good for you.
the "free" solution would be to try Tomato or DD-WRT on it
(assuming they support the hardware, of course)
and if they do work, then you know it's an errata in Debian
It can still be a specific (mis)configuration.
sure sure, but...i can't help there 😦
Yeah, seems like nobody can.
:)
Not sure if dd-wrt supports the hardware,
and to be honest? I wouldn't go back even if it did.
(I ran dd-wrt for years, I'm even still in the support IRC channel for it)
i have no idea what the best is available on Linux these days
I graduated to a proper setup about 3 years ago, and haven't looked back since.
Even managed to get an NVMe disk working, believe it or not. It was a pain and a half, but it works.
Had to get extension ribbons from China. :D
fyi UnifiOS uses linux of some kind at its core but it's not available for anything outside of Unifi hardware
it's got console support
Oh, you mean - outside of Ubiquiti hardware.
Tbh it's limiting.
A full-fledged OS is much better, at least for me.
I can live with Satisfactory not working, believe it or not. :D
blasphemy! Satisfactory is love! Satisfactory is life!
And I'm sure it's either the NAT, or the bridge. Why? Because I set up a VPN, and it works like a charm over VPN.
my money is on bridge
Yeah, except good luck debugging that piece of shit.
like i said, i had to switch to hardware switch because software bridging blocked packets
Yeah, but I don't have an alternative. Those 4 ports are on the PCB.
you're using all 4?
welp, for some reason, it's not copy-pasta'ing all packet types between the two
exactly the same problem i had
oh no, almost time to get in the coffin because the sun's coming up 🧛
i think it was ICMP that i had problems with
Nah, I just don't want to fuck with a broken network when I have to be at work in 6 hours. :D
Nah, ICMP is fine on this end.
multicasting
(and thanks to switching over from dd-wrt, I can now get traceroutes going too)
Multicast is fine too, from what I can tell.
BGMP
Then again, I'm not multicasting over network boundaries (because why), so it goes through the switch.
i specifically had problems with discoverability
Why would I use BGMP inside my network? xD
I have no issues with routing. Everything except Satisfactory works fine.
wifi was bridged and couldn't discover anything on the LAN
Not an issue here.
specifically, laptops couldn't discover my server
Like I said, not an issue here.
well...WAN/LAN that's never an issue 🤣
I don't use discovery (of any sort) much, because I much prefer specifying things otherwise (either manually or in fixed advertisements).
I'm sorry, what?
you're bridging between WAN and LAN and you don't want to BGMP between that gap
Did you miss the part where I'm routing five different networks? xD
i had two physical NICs bridged into the same LAN and BGMP failed to transit that bridge
But eh.
your router is only using WAN and LAN though, no?
Yeah, because it's not meant to work on LAN. xD
BGMP is
well, multicast more than BGMP, i forget the specific protocol
software bridging just sucks in general
ASIC hardware switching is much better
Good Morning, is it normal, that i got so many errors on my dedicated server?
"[2022.10.17-05.11.25:481][ 0]LogNavigation: Error: Navmesh bounds are too large! Limiting requested tiles count (112464) to: (8192) for RecastNavMesh /Game/FactoryGame/Map/GameLevel01/Persistent_Level.Persistent_Level:PersistentLevel.RecastNavMesh-Elite"
Gotta love tmp.
seen it before?
i love it when i make NaN bauxite/min
With the way the server is set up, it can seemingly be difficult to distinguish game logic errors from server errors. But don't worry - there's one way to tell for sure.
And that way is: if the server makes an error, it'll shut down.
;]
Otherwise treat it as game logic errors.
(and if I'm honest, most of the "errors" should've been warnings, and most of the warnings should've been notices if at all present)
thank you for this information :)
Any suggestions on resources for optimizing the server? INI files, others?
We are trying to create a dedicated server, but the session setting of the server stucking on private and does not change. We tried everything we see on the internet. Is someone know the solution?
Since it can take awhile to get a response here, I searched the history to see if anyone with similar problems had resolved them.
Here's some similar issues. maybe similar solutions
#dedicated-servers message
#dedicated-servers message
Sounds like 'private' doesn't mean anything on dedicated server, so if your friends can't join, there's another issue preventing it. Reading those conversations might help you fix it.
And if you want to search the channel for more, try this in the search field:
session private in: dedicated-servers-experimental
We can join with local ip but our other friends cant join with public ip, maybe we cant find correct port for public. There is no problem with joining LAN. Continuing step by step, last step public join 😄
if your ISP or router is not set up to pass traffic through the 3 UDP ports, they won't be able to connect. If you're giving out a 192.168.x.x address, that is a local-only address, and no one outside of your LAN can connect. It could also be a firewall rule on the server which is not allowing WAN traffic on the port, but which /is/ allowing LAN traffic on it.
One question I've not been able to find the answer to, does the DS require a steam account which has purchased the game? Or more simply - Do I need to own the game specifically for the dedicated server?
First things first: do you actually have a WAN IP that is public?
No, you do not. steamcmd can download the DS through the anonymous login. I don't know what controls the DS showing up in STEAM and EPIC, but steamcmd exists, so I don't rightly care.
I was planning steamcmd anyways, so that's awesome! Thank you very much for that @blazing halo :D
Sure thing.
also, are the really ISPs out there that don't give the customer a routable IP still?
I would wager that most of them don't, actually.
IPv4 ran out in something like 2019, and IPv6 is not reaching widespread ISP support.
Since then, a new pool was allocated specifically for CGNAT - 100.64/10 I believe.
My ISP requires a request, and you have to actually explain to them why you need it. I know of ISPs that outright refuse.
eh. ipv4 runout is overblown. I've been in IT for 20+ years, it's no where near the issue they made it seem. Every ISP I've had has given me a routable IP. But, I'm also in the US - no expeirence with anything outside of my little bubble.
It's not really overblown. Yes, there are pools that could still be used, but they're in private (or, more commonly, business) hands, and can reach exorbitant prices.
Not sure why a bullshit company in Cincinnati or Alabama needs a /16 pool, but meh.
of course, I'm also paying for a dedicated IP, but had a routable before I moved to business class service. ToS required I do to host game servers from home :)
anyways, probably off topic and we'll get yelled at >_>
When did you switch? My ISP (Poland) is still offering them if you ask, but they only offer dynamic IPs.
If you go business, you probably can pay for a static assignment, but the prices are... consumer-unfriendly. :D
(to the tune of $150/mo)
But for the most part, no, it doesn't affect the regular consumer.
But you know how it is. Everyone's running around like headless chickens.
(I moved to #off-topic-general )
Hi guys, I'm trying to spin up a dedicated server and it went fairly well... until the last step.
I can't seem to be able to connect to the server, even though both client & server agree that I am trying
Claiming the server worked OK, I uploaded a local save I had, loaded that, but just the joining part does not work.
From server logs I can see that on-join autosave completes, and then I get spam of "connection accepted" till it timeouts 30 seconds later...
[2022.10.17-20.55.39:959][930]LogGame: Write Backup to Disk and Cleanup time: 0.001 seconds
[2022.10.17-20.55.39:959][930]LogGame: Total Save Time took 0.466 seconds
[2022.10.17-20.55.40:397][983]LogNet: NotifyAcceptingConnection accepted from: 192.168.31.109:62138
[2022.10.17-20.55.40:532][999]LogNet: NotifyAcceptingConnection accepted from: 192.168.31.109:62138
[2022.10.17-20.55.40:910][ 44]LogNet: NotifyAcceptingConnection accepted from: 192.168.31.109:62138
[2022.10.17-20.55.41:111][ 68]LogNet: NotifyAcceptingConnection accepted from: 192.168.31.109:62138
[2022.10.17-20.55.41:313][ 92]LogNet: NotifyAcceptingConnection accepted from: 192.168.31.109:62138
[2022.10.17-20.55.41:515][116]LogNet: NotifyAcceptingConnection accepted from: 192.168.31.109:62138
TL;DR of setup is:
another machine on local network is running k3s kubernetes,
installed the server via helm chart https://artifacthub.io/packages/helm/samipsolutions/satisfactory (and that's using docker image https://github.com/wolveix/satisfactory-server)
and exposed ports 7777, 15000, 15777 via metallb on new IP (for now)
Anybody can point me where to search for the issue?
Edit: Okay, it looks something just broke in save somewhere, and creating new game, or reloading original save fixed it.
question.
how do I determine client ID and like back that up somehow and is there a way to set that
I guess what I'm asking is, several times now I've connected to server, and it treats me as a new player, something client side breaking
I guess what I'm asking is, several times now I've connected to server, and it treats me as a new player, something client side breaking
I would like to know more detail on why that breaks but I need an understanding of what exactly is the server looking for to determine who is who
I tried googling and looking at wiki but didn't see much on it, i will keep looking
Nah it's working now, when I reloaded the server to uploaded save it started working 👍
As far as I'm aware, only CSS know how that works.
Hey Builders!
Can somebody enlighten me and tell me, If I run a dedicated server on my PC with no players connected, how much RAM would it use?
the docker container mine runs in is currently using a bit under 10GB
Serious?
yep, a fresh world was around 9 if I recall
That is insane!
Thank You for the response, Apreciate it
Does dedicater servers work on both early access and experimental?
yeah it should, mine was on experimental before U6 was officially released
Not really, an actual server can well exceed 256gb of ram and at that point would be more CPU limited.
(also system requirement is 12)
is there any way to have the server not eat up all the RAM on startup or have it only use as much as needed? i have factorio & satisfactory on same box only with 16GB but only one game would be played at a time but i cba to turn off and on each server manually
I pay for host, I could download the files from it if needed but it seems certainly some kind client problem because the times this happens restarting steam seems to be a fix. I just want to be able to know what’s actually broken when restarting steam doesn’t fix it ya know
i keep getting this error with my satisfactory server
i opened the ports and still not working
Ram?
probly
ah thought it was a bug
@jovial oxide johnny strikes again
It does use only as much as needed. Not sure what you're expecting.
Is the server running when this happens, or is it shutting down on its own?
it shuts down when connecting
That's not a rhino, it's a hog. Specifically, a "fluffy-tailed hog". And there's a chance of one spawning with a jetpack. It's called Johnny. ;) Fun fact: if you manage to kill it before it splatters itself (and most likely you), you get to keep the jetpack.
Much like with how the chances of a server going down increase with the admin's distance to the server room, the chances of spawning a Johnny increase the farther you are from base and/or the rarer the resources you're carrying. :D
How much RAM does your server machine have?
16gb
And how much of that is free for the server to use?
its the only thing i have on the server
Okay, I'm going to need a server log.
ill send it in a sec
You didn't die, otherwise i would've linked u propaganda about him
?
Sorry, had to go out
And still no log, I notice. ;]
I’m out, still
Ah, I see.
well that's a new crash:
Assertion failed: InAllocatorIndex < (1<<ALLOCATOR_INDEX_BITS) [File:D:/ws/SB-220602145101-842/UE4/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp] [Line: 3721]
FactoryGame_Core_Win64_Shipping!AssertFailedImplV() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:104]
FactoryGame_Core_Win64_Shipping!FDebug::CheckVerifyFailedImpl() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:461]```
graphics?
only thing new is that i got flung by an Mk. 5 conveyor and was hopping back towards where it was
Out of allocation memory or memory alignment corruption.
Report it alongside your driver version, then see if you can update your GPU driver.
But you know @calm jacinth - this is a second seemingly-GPU-related crash, and it's a different one.
It's starting to look like either a GPU driver issue, or a hardware issue.
any recommended host provider that coffee stain has worked with?
i was using one but they only allocate 10g of ram and runs at 9.5g with 3 player so looking for a new host
I'm not sure if there's a recommendation from CSS. From what I've seen, they don't recommend any particular host.
oh okay understood hmm, i tried pebblehost, busted, didn't work at all, then try bisect but they the ones running 9.5g/10 with 3 player i figure there's gotta be one out there that will give the 12g
That seems to be rather common, actually - it seems that the hosts have deployed their servers, and haven't cared to keep up with how the specification is evolving over time.
People forget that the game is still in Early Access, and thus subject to change significantly and without notice.
As such, we've seen hosts offering as little as 6 or 8 GiB still.
8 GiB was technically valid up to Update 6.
Worse, I've seen people throw a temper tantrum when finding out that the server requires even more RAM now. Seeing "well I guess I'm done with the game until RAM requirement goes back down" makes my day. xD Because that's likely. xD
i will see if i can get the host to change things
You can always make the argument that offering anything less than 12 GiB could be technically considered "not up to specification" and thus false advertising - since they can't guarantee the entire game at its full supported capacity (4 players) can be enjoyed at below that value.
The higher-tier hosting plans (that cost more) should have added value - like more player slots.
It's possible server hosts don't see it that way, but for me the base offering should be functionally-equivalent to self-hosting.
hmm ty for being here to bounce ideas off of
Mhm.
Hi there, I'm wondering if someone could help me or give me a rough idea as to how much internet bandwidth hosting a dedicated server might use? I have the PC resources to spare, but want to know if having 3 other players connected to me will use a lot of my bandwidth (cause it's heavily taxed as is). Any help would be greatly appreciated.
problem with that is in ability to consistently reproduce 🤔
we'll see if that one becomes common with Mk.5 conveyors
I think that you will not be able to consistently reproduce it. It's clearly an intermittent issue.
alright @blazing halo
i can give you the logs now
im running my server using lgsm
heres my log
then it will never be fixed in driver (assuming driver has something to do with it) 😦
Then take your PC apart and re-seat everything - RAM, CPU, GPU.
Okay, so that looks like a perfectly normal startup, up until the very end. Now, we have two options: it either produces a crash dump (in which case it's a check or fatal), or it doesn't (in which case it's running out of RAM).
how do we know which one is it?
that would imply TDRs, this is just the game crashing and not in a way that directly implicates the driver
Well, it's one of three things:
a) a physical malfunction of the hardware
b) a malfunction of one of the drivers (either the GPU or the motherboard)
c) a very difficult, intermittent bug that affects your system specifically, for some reason
You can't diagnose C. Diagnosing B deals with replacing drivers with different versions.
To diagnose A, you'd want to run software that would put it through its paces until it craps out.
But one other thing you can do against A, is clean and reseat all hardware, to exclude loose/intermittent connections.
It also takes the least amount of time, and is non-destructive.
actually, i bet it is because i'm using Vulkan renderer 🤣
would explain why i'm the only one seeing it
You can try DX12, but I assumed you were using Vulcan for a specific reason (seeing as DX12 is the default renderer).
Vulkan is mo bester 😄 (except some apparent instability)
... how is it better?
And, arguably, if it's unstable - I'm not sure "better" is the word I'd use... ;]
Find a crash dump. Best way would be to clear out the logs and crash dumps, and just re-run the server, then make it crash again.
I would also inspect the output from the console, if at all possible, to see what it says when it crashes.
I get nothing on the console when it does
Whats the path to see the crash dump?
Should be somewhere near the log files.
cant find it
I can only find clientcrashreports
Which would indicate it gets killed instead of crashing.
And there's only one condition I know that causes that with Satisfactory DS.
Out of memory.
fuck, so i need to upgrade my server?
You said you had enough RAM.
How much RAM do you have?
I think you mentioned either 16 or 24 GB.
You also said nothing else is running on that machine.
Do I recall that correctly?
yeah, 16 gigs
Okay. What about LGSM configuration? I think that comes with a RAM limit?
let me check that
In order to corretly start up, the server needs some 10 GiB. That's just for startup, mind - it will go up depending on save size, number of players, the works.
The typical recommendation on this channel is 12 GiB, with the recommended Wiki spec being 16 GiB.
Then I don't really know.
You can try running the game plain and seeing what happens.
(assuming that whatever happens under LGSM, will also happen when running it plainly)
Hi guys... I want to ask the game has 3 ports (15777, 1500, 7777) the first port always works, but what are the other two for?
How can I host a dedicated server?
- Choose a PC to run your server (make sure it has at least 12 GiB of RAM for Linux, or 16 GiB for Windows)
- Download and install the server from STEAM, EPIC or
steamcmd - Configure and launch the server
- ???
- PROFIT
All 3 are used. 15777 is used to query the server state, 15000 is used to query the game state, and 7777 is responsible for player data.
I actually find this indecision a bit funny. They came up with the internal router, and went as far as making it the default. So... why the option to run without it? Did they not believe in their ability to write it correctly?
I mean, judging by the results - they were right about that. 😂 But then... why keep it both in, and default?
If that's what you want to have - make it the only connectivity option. If it doesn't work, remove it until such time when it does.
much smoother...until it crashes 🤣
Um... smoother?
What sort of GPU are you running that you need to use Vulkan to get smooth FPS in this game?
Or, what sort of graphics settings did you configure? That might be a better question...
(I'm asking because I'm on a GTX 1080, which is by no means a fresh GPU, and I get anywhere between 70 and 120 fps at maximum settings on DX12)
6800 XT running Ultra 4K
hitches like 400% more frequently on DX12 compared to Vulkan
which reminds me, i need to report that InAlloc error
attaching the crash files to attach to ticket
blah, the inability to manually edit valves in dedicate server sucks:
https://questions.satisfactorygame.com/post/61927233831c85205235e24b
Ok And with that I wanted to ask: Is it possible to have one and the same server on two devices (in my case PC and Notebook) with the same world? Whenever I need to turn on the server on the other device, I also have to change the port fowarding and transfer the world backup :))
wouldn't recommend it: server is meant to run on one machine with one world state that players connect to
how does starting a new game on dedicated servers work? does the first player joining get the planetfall sequence or just HUB parts in their inventory? (please ping when responding)
The first player gets the Hub parts, everyone simply joins after that.
thanks!
not much prolly wont work on a 3mbps connection though
Does anyone get network crashes maybe twice a hour?? The server doesn't shut down. It just disconnects everyone. I'm thinking it's maybe a host issue
While it's difficult to find any info on the Internet (the issue is not a lack of information, but rather the huge amount of conflicting information), I looked into the game files. The game uses 4 different "network quality" settings, and they range from 234.4 KiB/s (1.84 Mbps) at FG.NetworkQuality 0, to 1.15 MiB/s (about 9.15 Mbps) at FG.NetworkQuality 3. This is a maximum shared bandwidth allocation, and is shared between all connected game clients (4 by default).
These values were taken from the default files in EA Update 5, so they may have been tweaked since - but it should give you some idea on how much bandwidth you'll need. Note that, should you choose to edit these values, there's a number of network speed settings that define "sliding windows" for the clients, and they need to be coordinated for it to work well. Also note that changing these will likely require edits to the Scalability config, as CSS have mentioned that changing network speed settings in other configuration files may be ignored in favour of FG.NetworkQuality.
Take the minimum setting (quality 0) as the absolute bare minimum the game requires to function correctly - don't go below those; if your networking doesn't meet these minimums, upgrade your network instead. Going below minimums will likely result in unexpected (and usually just plain weird) issues that may or may not break playability.
Keep in mind that all settings are calculated for 4 players (so a max dynamic allocation of 60 000 matches a maximum pool allocation of 240 000, since 60 000 × 4 = 240 000). If you need to host more players, you must take that into account. But this also means that if you need to host less players, you can lower these values - or assign more of the pool per connection - without affecting gameplay.
Please consider your latency as well. It doesn't matter how much data you can push, if all of it is out-of-date when it finally arrives. Unfortunately, your latency is often tied to the networking technology you're working with, so if you need to improve it - you may need to switch ISPs and/or upgrade networking hardware. It may also be impossible for you due to geographical constraints (I wouldn't host the server on a satellite uplink, for instance, but there may be areas where that sort of Internet connectivity is the only available option). In those cases, renting a server is likely a more viable option.
You'll have to provide some info on what exactly happens when this event occurs. Logs from both the server and the clients would be helpful here (bonus points if you can point out the timestamps).
Could you please tell me if these events happen to coincide with the server saving the game? If you modified your server to auto-save every 30 minutes (instead of the default 5), that would be one indication that it's related.