#dedicated-servers

1 messages · Page 17 of 1

blazing halo
#

(mainly so that you don't suffer from timeouts on first connection after restart; with the pause deselected, the server will load the save as soon as it finishes its initial start-up)

tardy night
#

ya it does take a bit to load, but seems reasonable for the size

blazing halo
#

I would also recommend you disable saving on player exit, if you have that enabled. The save is likely big enough to make it take a long while.

tardy night
#

now that im thinking about it, the game instance is on the nvme but the actual save is in ~ so.. its on a slower disk, still raid but not NVME

blazing halo
#

Most notably, even if you time out, it will still likely load you up (while ignoring you), and then immediately notice your timeout. That also counts as "player leave" and it does trigger the save-on-leave.

#

So, at the risk of losing some more progress if it crashes... I would recommend disabling both of those options, so that your experience may be saner.

blazing halo
#

If you look into the game log, you will find time information on the save process, itemized.

#

Look it up and find the entry on the write-to-disk performance. You will see that it takes maybe a second or two, at best.

#

How much time does it need to save < 30 MB of a file?

#

I would honestly recommend to the devs to sacrifice save file size in exchange for save/load speed improvements. Even a 500 MB save file is not an insane proposition in this day and age.

#

Even if you're expected to send it over the network to the server (which functionality is provided in the Manager).

#

If it means less memory scouring - and thus less of a "hiccup" at save time - I would welcome the change with open arms.

tardy night
#

the server is on a 10g link and my client is at 1g so its not doing it over the wan

#

but I take your meaning

blazing halo
#

Regardless, uploading 500 MB once (directly through the Manager, or via FTP/SFTP/SCP or whatever have you) is still an acceptable price to pay for even halving the save time.

tardy night
#

I could make a symlink for the save game over onto the NVME and work around the slower disk

blazing halo
#

Please read the log and see how long it takes to actually save the file first.

#

(besides, you can't symlink directories; you'd need to bind over it (mount -o bind))

#

Again, it's very likely that moving the save file to the NVMe will improve nothing, as it will shave your time by... maybe 2 seconds?

#

Is 2 seconds of gain enough for you?

tardy night
#

okay, no, i see what you mean

blazing halo
#

In my view, it's not worth the time spent opening fstab in a text editor. ;)

tardy night
#

fair enuf

blazing halo
#

Like I said - take a look at your tick rate. If it's dipping below 30, or is constantly low even, then the only thing that will help is a CPU upgrade (and, likely, considering your options on LGA771... a platform upgrade).

tardy night
#

ok, sounds good, how do I check that?

blazing halo
#

You can see the tick rate when you look into the Server Manager, and select the server in question.

#

It is listed with the other params (name, game stage, time played etc.).

tardy night
#

otw

blazing halo
#

You can also take a look while connected to the server and in-game (though obviously you will be unable to take any in-game actions with the menu open).

#

Good luck.

tardy night
#

thanks for your help!

#

ok the level loaded, where do i find that log to determine how long the level load took, server side?

#

That prior screen grab was with me disconnected, once I loaded the level the server manager showed the following.

#

found the actual save, its' 4.4M not 27M, that was the entire save folder stucture

#

Found the log file:

#

not sure if that's the load time you were looking for but that doesn't seem excessive

#

Found some more, grepping for "Time":

half idol
#

Hello, having problem hosting a dedicated server. ports are open on router, inbound rule added on ports

blazing halo
blazing halo
# half idol

I'm not seeing a problem on this screen. The last four lines are related to Epic Online Services (i.e. the EPIC store), which was left unconfigured in this game.

half idol
#

oh, i thought that warning was the issue. When i try to connect to this server i get offline status. what should i check first?

blazing halo
#

Where are you trying to connect to and from?

half idol
#

trying to host on my workplace pc and connect from my house pc

#

an other thing is that on whatsmyip while ip is xxx.xxx.x.x the hostname is ppp-xxx-xxx-x-x.home.otenet.gr
This might be an issue? is it a setting i can change on the router?

obsidian rune
#

The hostname matters not, I suppose... unless that's your work IP?

obsidian rune
half idol
#

i have a windows pc there running, installed steamcmd, opened ports on router and on the pc. im configuring it now via anydesk

obsidian rune
#

Okay... "workplace PC" - is this at your work place? I assume you have cleared this with your employer and IT?

half idol
#

its my store, nothing special on the lan

obsidian rune
#

Okay.

half idol
#

so what should i check first?

obsidian rune
#

I assume your WAN IP in the shop is public?

half idol
#

how can i check if the ip is public?

obsidian rune
#

Log onto the router, find WAN IP, check if whatismyip.com (as seen from your workplace) reports the same value.

half idol
#

oh its not youre right

obsidian rune
#

Be extra sure you found the right page, because the next step is contacting your ISP to see if they can give you a public one.

half idol
#

found the ip address under DSL connection status. next to the ip address i see subnet mask 255.255.255.255

obsidian rune
#

I'm not exactly familiar with DSL providers and their technology. Is the IP set up there within 192.168/16, 10/8, 172.16/12 or 100.64/10?

tranquil gazelle
#

cheap server hosting anyone recommends?

crystal eagle
#

Hi, has anyone had a home server and made a hardware change and the server does not run properly anymore?

sage python
#

I have a vps. Would it be a mistake to host a satisfactory dedicates server off of it?

half idol
obsidian rune
humble reef
#

Is there an official host for satisfactory servers?

marsh dawn
#

There are a bunch of hosting sites, but none is official iirc.

humble reef
#

Ok thank you

stiff dirge
#

just curious, where are dedicated server saves kept - and is it possible to download them to local save files?

#

nvm the question - I have my server with a hosting company, so I just had to access my server control panel

obsidian rune
molten yacht
#

Hello, I've been trying to setup my server, i had it working some months ago, and now i don't remember how to get it working again,
The server is run using pterodactyl

If anyone knows what im doing wrong then please help ;D

obsidian rune
#

That No such file or directory might be a clue.

#

But I suppose you might be better off asking people in the Pterodactyl Discord server.

humble reef
#

Is there a resource on uploading a local save to a server?

keen vortex
#

have a save that nobody can connect to, get either timeouts or buffer overflow errors. save loads fine in single-player. if i make a new session, players can connect to that just fine

grave creek
#

what ports are needed to run a dedicated server? i see the wiki says 15777, 15000, and 7777, but is that for both steam and epic? or just one? reason I'm asking is a different site says those are for "PC" and theres different ports for Steam? just kinda confused

novel yarrow
#

15777, 15000, and 7777 UDP are enough to join the game; Steam ports are for server indexes to allow join from Steam client directly I assume

grave creek
novel yarrow
#

If You give him Your IP he will connect directly, only these ports needed

grave creek
novel yarrow
#

Yes, I have such setups.

grave creek
#

ok cool. i assume he wouldn't need to change anything regarding his ports, right?

novel yarrow
#

Client traffic goes via random high port numbers, so if ISP don't block the will be able to connect; usually no changes needed on client side

novel yarrow
grave creek
#

@novel yarrow you said you have this setup on your end? do you use the dedicated server steam app/tool to run it?

novel yarrow
#

No, but I've made a guide. I'm running dedicated servers on Linux containers or bare-metal servers.

grave creek
#

got it to work i think, at least on my end locally. how does saving work on servers? is there auto save? do i have to save manually, if so how?

sage python
#

What are the requirements for a dedicated server?

elfin bane
#

btw: is it normal, that an ideling server have a medium CPU load?
No one is connected and the factory is not running if no one is connected.

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     ZEIT+ BEFEHL
2930374 server    20   0   17,3g   8,5g   7692 S  21,9  27,7 336:05.15 UE4Server-Linux

It is hosted via docker (from wolveix/satisfactory-server) on a ubuntu-linux

keen vortex
#

also, other saves work fine, it's just this save

#

also, just tested something: i loaded the save in single player, moved several hundred meters away, saved, and uploaded the save to the server. that save i can connect to. which means it has something to do with the area of the map i was in when i disconnected

#

i moved back to where i was before, and now i cannot reconnect to the server.

#

my guess is that something in the local chunk area isn't serializing/deserializing correctly, and it's causing the network protocol to go haywire. single player doesn't have to deal with this.

blazing halo
#

@grave creek @novel yarrow The "STEAM" ports are necessary (though I'm not sure if all of them are...) for STEAM's peer-to-peer session mediation to work properly... or so I gather, because those sessions also work if your NAT is completely shut. I believe that many of these are "cargo cult" port designations - for example, 27015 is the old Half-Life dedicated server port... ;]

blazing halo
blazing halo
grave garnet
#

Having this error when trying to connect to my server...

#

Any thoughts?

blazing halo
keen vortex
#

if you attempt to join a server with a pioneer who is in chunkload range of a wall pipeline mount, your attempt to join will fail with either a buffer overflow or a timeout

umbral urchin
#

I checked my dedicated server on my remote system today and noticed that satisfactory has started up multiple instances of xrx all of them are consuming 100% of the clock speed of whatever core they were started on

#

I restarted the satisfactory server and they showed up immediately. Restarted the whole remote system and then started up satisfactory on the remote system and they immediately came back eating up all of the CPU.

#

It is a 6 core system with 16GB of ram and xrx is eating all of that precious CPU time. Thoughts?

umbral urchin
#

a fresh install of the server client and copying the world file fixed it. No more xrx core death but it is odd

keen vortex
#

not sure what xrx is

#

xrx doesn't run in my container, so that might be a "feature" of your hosting service or the container you're using

#

xrx appears to be a tool used to provide remote desktop services, whcih is completely unnecessary for the satisfactory server

cloud ridge
#

@blazing halo which log in the server file do you want me to find?

#

oh i tried again, same error so i clicked retry and again then it worked

keen vortex
#

yes, those

blazing halo
tough depot
#

when i started the server without -multihome=ip the server seemed to start up but was unreachable and after i added the multihome i started getting segmentation fault

blazing halo
#

Not sure why the developers decided to include this one. The principle of least concern applies.

#

Every new thing you include is potentially breakable, so why reinvent the wheel when implementations with long history of success (i.e. routers) already exist and are freely available.

tough depot
#

so i replace the multihome with disablepacketrouting, i did that and still got the same message

blazing halo
#

I assume you're running the server on bare metal?

#

Well, as bare as it gets in this context.

#

What I mean is "with no additional managers, containers, virtualisations etc.".

tough depot
#

thats kinda vague for me but im assuming i am,

blazing halo
#

How do you mean?

#

It's likely a bug in the server's code, but it must be something specific to your setup that triggers it. As far as I can tell, the game doesn't really have any issues running under Linux, so it must be your particular Linux (or hardware) configuration that's triggering it.

#

If you're running it under some sort of virtualisation or separation layers (Docket, VM, etc.), that might be introducing unexpected variables.

#

If your system is highly-customised (if, for instance, you're running a different/nonstandard libc), that might also be a factor.

tough depot
#

im running ubuntu on its own machine where im already running a minecraft server

blazing halo
tough depot
#

no just regular port forwarding

blazing halo
#

Can you sysctl net.ipv4.tcp_l3mdev_accept and sysctl net.ipv4.udp_l3mdev_accept for me?

#

I want to know the value.

blazing halo
#

Okay, so that's not your issue.

#

Too bad. That one technically has a fix.

#

Hmm... ip a?

#

(you can probably copy & paste from the terminal window, instead of screenshotting)

tough depot
#

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 3c:7c:3f:bf:15:1e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.74/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
valid_lft 73965sec preferred_lft 73965sec
inet6 2600:1700:aea0:bf90::7cf/128 scope global dynamic noprefixroute
valid_lft 2579567sec preferred_lft 592367sec
inet6 2600:1700:aea0:bf90:90e3:dc14:8a03:62fc/64 scope global temporary dynamic
valid_lft 3461sec preferred_lft 3461sec
inet6 2600:1700:aea0:bf90:2129:7940:ec4a:a6c0/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 3461sec preferred_lft 3461sec
inet6 fe80::add9:cdb0:3469:adcc/64 scope link noprefixroute
valid_lft forever preferred_lft forever

blazing halo
#

Interesting...

#

Can you -multihome=127.0.0.1 for the server and see if it comes up?

tough depot
#

came up with the same

blazing halo
#

From what I can tell, the game has a bug with binding to virtual network interfaces.

#

Why do you have so many IPv6 addresses bound there anyway?

tough depot
#

good question i have no idea

blazing halo
#

If you don't use IPv6, you can disable it globally by placing

# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

inside your /etc/sysctl.d/ folder in a .conf file.

#

If this is a virtual device issue, perhaps disabling it (if you're not using it) would clear things up. Disable it and reboot your server machine.

#

If you are using IPv6 for something, do this anyway - let's see if removing it clears things up for Satisfactory; you can always re-enable it later.

tough depot
#

alright so i did all that and started the server with both multihomes and disablepacketrouting, still comes up with the error

blazing halo
#

Okay. So it seems the network code has a bug in there somewhere. Please go ahead and create a bug report. In it, pleace reference the one I referenced above (as it is likely related), but clearly state that you are not using virtual interfaces.

tough depot
#

alright man i submitted a report with the details thank you very much for your help

calm jacinth
#

well that's a new crash

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000220

FactoryGame_FactoryGame_Win64_Shipping!AFGItemRegrowSubsystem::AddPickup() [D:\ws\SB-220602145101-842\UE4\Games\FactoryGame\Source\FactoryGame\Private\FGItemRegrowSubsystem.cpp:72]

#

i was driving a Truck...hit a rock that was a wee bit too big which pretty much insta-flipped the truck on its back

#

about a second later, i got out and spawned in the void, noticed my build list went to -1 across the board, and i attempted to exit because i figured it was a DS/client miscommunication thing

#

client crashed

#

server seems unaffected

#

on my end the truck was belly up against the electric pole there, and yeah, probably crashed because server disagreed with where client put me (my guess is 0 0 0)

#

culprit rock is on the left

#

when i rejoined, i was standing in the center on the top of the upside down truck

blazing halo
#

Well, unrelated in the sense that one got triggered by circumstances resulting from the other, and not by direct code coupling.

calm jacinth
#

¯_(ツ)_/¯

#

crash bad mmkay? 🤣

scenic musk
#

I've not tried any mods with satisfactory as yet and wondered if they can be added in mid game on a dedicated server?

lusty orchid
#

Hi guys, I have a question regarding dedicated servers.
I am currently playing a coop-game with a friend. We have 100 hours of playtime and my framerate isn't that good anymore. So I am planning to run a dedicated server on my second PC with my second steam account.
I have tried family sharing but the it kicked me out after a minute because I am not allowed to run to 2 steam games on 2 computers simultaneously.
Do I have to buy the game a second time then just for the dedicated server? 😦

novel yarrow
#

The answer is no 🙂 You need anonymous logon via steamcmd.

lusty orchid
#

Ok, thanks. I will take a look on that

novel yarrow
#

It's on the wiki page.

blazing halo
blazing halo
novel yarrow
#

FarmingSim series is another story, but that's correct. I have deployed DS for many games so far.

scenic musk
blazing halo
keen vortex
#

i just had another similar incident; this one was recovered by going to a tamed doggo and petting it

#

i don't think it's necesasrily specific to tamed doggos; rather, there is probably some bug related to serialization of creature AI, which was overhauled in U6, that only arises in some edge cases

#

happened again, but "interacting" with a spider helped

blazing halo
#

I much more expect it to be related to your inventory than creatures.

keen vortex
#

does not appear to be

blazing halo
#

For three reasons:

  1. there is precedent: not just in Satisfactory but in other UE games; Conan is notorious for inventory overflows; Satisfactory had buffer overflow issues with containers before
  2. critter AI should not cause buffer overflows in the first place, as the amount of information that is being sent is tiny
  3. there is one more thing that is common between these issues: you (as in, the player character)
keen vortex
#

also, other people haev reported that tehy can recover this situation by using a save file editor to delete all creatures within ~400 meters of the pioneer

#

so i'm dubious of your reasoning

blazing halo
#

Also, I'm not excluding the possibility that critters are related to this. I do however highly doubt that critter AI is related to this.

keen vortex
#

whatever

blazing halo
keen vortex
#

yeah, not convinced

#

my reasoning rderives from "what did CSS change"

#

because that's where you always look first

blazing halo
#

One more reason that makes me doubt your claim of AI being related: you have already made a claim that turned out to be directly false, with just as much conviction.

keen vortex
#

yeah, sure, ok

#

i am done speaking with you now

#

bye bye

blazing halo
blazing halo
#

Real mature. 😂

blazing halo
# keen vortex my reasoning rderives from "what did CSS change"

Also, fun fact: you forgot two things. First: the AI change was made quite a number of versions ago, so logically you would expect more people to report this, and for this to be reported sooner (ideally around the switch from EX to EA). And second: there's a chance, no matter how small, that this is a rare bug that has been around since before U6, too. Yes, you should first look to what's been changed, but this isn't a religion.

lusty orchid
# novel yarrow It's on the wiki page.

I tried but after starting the Server via command line (FactoryServer.exe -log - unattended) it sets up a windows error message occurs and it shuts down. :/

blazing halo
lusty orchid
#

It the standard windows error message "Satisfactory doesnot work anymore"

#

I dont know how the exact english translation is

blazing halo
#

What is your native language?

lusty orchid
#

german

#

ohh. It seems if I just use the FactoryServer.exe it is working

#

let me check for a moment

blazing halo
#

Can you verify that you actually use -log -unattended instead of what you wrote?

#

(you wrote -log - unattended, that space does matter)

lusty orchid
#

but there is no window/trayicon or anything else which indicates that the server is running?^^

lusty orchid
#

.bat-file looks like this:

#

FactoryServer.exe -log -unattended

#

(do I have to add an "exit" as second line?

#

but I have tried both)

#

Update: If I just run the server by clicking the .exe it works

#

does it have any disadvantages this way?

#

(I got a kinda cryptic error message when I tried to join the first time. But the second time it worked)

#

Ok. It seems I was not very clever. One instance of the FactoryServer was already running in the background...

#

Now everythink works 🙂

blazing halo
blazing halo
# lusty orchid Now everythink works 🙂

That is one of the things you want to use -log -unattended for: these parameters will make the server leave the CMD window instead of closing it, so you will always know that a server is running.

#

Otherwise, as you just found out - it's very easy to launch it twice.

#

@rose valley can we petition to have the Windows version of the server have the same behaviour as the Linux one? As in - keep the CMD window, and only close it when a specific parameter (say -hide or something) is used. This will limit the issues with people being baffled with cryptic error messages and "stopped responding" when the actual issue is that there's a server already running. It would also resolve the confusion people have when the CMD window disappears (believing that the server closed, when it's in fact running in the background), and would help resolve support issues (because the concept of looking for a process - with a different name, no less - can be difficult for some people). The server executable doesn't seem to have any Windows Service-specific hooks anyway, so it's not like removing the CMD window has any practical benefits (and if someone wants to have it hidden - once they understand what they're asking for - it could be accomplished through the mentioned -hide parameter).

I would also personally recommend that the built-in router be disabled by default. People end up port-forwarding all 3 ports (as per the Wiki), so it serves no practical purpose - and from time to time it misbehaves, leading to problems with connecting that don't have an immediately obvious culprit (also, it leads to silliness such as connecting from IPv4 to IPv4 over IPv6). Having it on-by-default seems not very useful. May I ask for the rationale behind it, and behind making it enabled by default?

lusty orchid
blazing halo
#

Do not simply close the window using the [X], as that will terminate the program without giving it a chance to perform a proper shutdown.

#

The save games are located in the home directory of the user running the server.

lusty orchid
#

Implenting the initial savegame was pretty easy. I could just upload my local savegame.

blazing halo
#

That is correct.

lusty orchid
#

So do I have to copy/paste the savegame always when restart the server?

#

Which is not that much work, probably^^

blazing halo
#

No. It should remember the last save that was used.

lusty orchid
#

Thanks

#

I'll try tomorrow in practice.

novel yarrow
#

Damn, it was soo close.. I've built small Beowulf Cluster to distribute the load and ran Satisfactory Dedicated Server on it.
Hydra proxy finds FactoryServer.sh on a NFS share and spawns multiple threads on distribution nodes.
However, it ain't gonna work. I can't split single process into multiple nodes. Even through invoking binary itself.

blazing halo
#

Are you Polish?

novel yarrow
#

yeah ?

blazing halo
#

Cool. :D I thought so, but didn't think of confirming it until I saw "kedzior". :D I'm Polish too.

sage python
#

Running a dedicated server with 8GBs of ram is going to be a mistake isn't it?

novel yarrow
#

I had no more on secondary node. This process was running concurently.

blazing halo
novel yarrow
#

ah no, it was large map already loaded, fresh startup ~6,5GB

blazing halo
#

At idle, maybe.

#

Once you load it up with a map and an actual player, it reaches up to something like 7.8 GiB or so.

#

Coupled with the OS overhead (for me it's about 350 MiB), it goes up to a little over 8 GB.

#

At least on my system.

sage python
#

Yea it just dies lol.

blazing halo
#

I kinda sorta failed to ask for them, because I saw blood in the water (a networking-related crash) and went hunting for any other reports. But yeah, it would be good to look them over.

#

The easiest way to get them is to wipe all logs, all crashes, and just... re-run the server, let it crash again. That would ensure you have the latest, and those should be the only ones there.

#

(backup the logs & crashes, just in case it miraculously works... xD)

#

And also... this I also failed to ask... Do you happen to run any services on the SF ports? That would be UDP/7777, UDP/15000, and UDP/15777. The command to check would be ss -lnup | grep ':7777\|:15000\|:15777'. It will list the ports, their bound addresses, and the processes which bound them - if any should match, that is.

#

It seems I failed to ask about a number of things in this case...

blazing halo
tough depot
# blazing halo So, can you?

yes, are the logs in the terminal itself or stored in a file somewhere. Also is the result of the ss -lnup supposed to be UNCONN 0 0 *:15777 *:*

ember delta
#

Just checking back after a longer time - do dedicated server allow for modding by now? Because my mates and I think about renting one to play a bit of Satisfactory

brazen plaza
#

will Satisfactory dedicated server have support for steams server listings?

blazing halo
oblique ice
#

I don't think there's going to be publicly hosted servers where people can just come and go at will?

oblique ice
blazing halo
#

No. Because the central mod dependency all mods depend on - SML (the loader) - doesn't support the DS. It came out before the DS was a thing.

oblique ice
#

Also, they'd have to somehow make dedicated MP stable for more than 4 players for public servers to even be considered.

#

If that's what Fwee is talking about.

blazing halo
#

Considering that the game is optimised for (or - the goal of the optimisation is) 4 concurrent players, I don't see it happening.

blazing halo
blazing halo
blazing halo
# brazen plaza will Satisfactory dedicated server have support for steams server listings?

The query protocol in use is different to what the standard STEAM query protocol is. Will it be supported in the future? No idea, I don't know the future. Is it likely that it will be supported? I personally don't think so. Player and game information is locked behind DTLS (a type of TLS/SSL encryption for UDP) as well, and there was a reason for that (I have to assume). STEAM server listings don't support that, either. Supporting the listing would necessitate this information be revealed in plain-text in transit.

brazen plaza
blazing halo
calm jacinth
#

not gonna happen, Satisfactory was born on EGS which means using their cross-platform query system which is why Steam and inter-play with EGS builds

#

they have no reason to go all in on the Steam ecosystem at this point, especially if it would exclusionary to the original backers on EGS

#

Steam's server query system is specific to the Stream ecosystem which dates back to Half-Life/GoldSrc

brazen plaza
calm jacinth
#

it's Steam API which only plays nice with Steam API...Epic's is more agnostic

blazing halo
lusty orchid
#

I have tested my dedicated Server now. It is not laggy but it looks like it has a low tick rate or update rate or something like this. The items on the conveyor builds have some stop-and-go-effects and at the map the position of trains only seems to update every half second and are not fluently.
The CPU of my server is an i7-920 (with GTX1060 and 24GB RAM, don't ask why^^) but the CPU load never goes above 35%?
Or is it just a settings problem?

calm jacinth
#

DS is largely single threaded and i7-920 isn't very fast

#

but the other things you've seen are normal because that's how the game is coded

#

players are divorced from the server simulation rate and players are only basically given a snapshot of the simulation

#

the more populated the server gets, the further the simulation speed drops

lusty orchid
calm jacinth
#

yeah, cosmetic...only have to be worried about conveyors when stuff isn't moving at all

lusty orchid
#

But probably my friend who joined my then has seen this before then

#

Thanks

blazing halo
blazing halo
#

If your tick rate is solid at 30, you're not looking at "lag".

blazing halo
lusty orchid
#

Thanks for the info 🙂

calm jacinth
rose valley
# blazing halo <@316233420806291466> can we petition to have the Windows version of the server ...

Now, if only there was a place where requests could be made for future developments. hehe

On a more serious note, I'm busy with other, unrelated topics right now and will be so for a while longer. When I get around to giving dedicated servers their much needed second pass, I'll look through all the requests on the qa website.

As for the internal router, I'm more of the mindset that if something is a little buggy it needs to be fixed, not deleted. As far as I can tell, most people still open three ports because the wiki page doesn't even mention the fact that it's not needed by default. However, I don't want to go into an endless back and forth. It's Sunday and I'm off the clock. If you have specific feedback wrt to the packet router, please post it on questions.satisfactorygame.com

rose valley
# calm jacinth it's *very* likely EOS (Epic Online Service) based

It's not though. It's a very simple protocol that I even described to another user some time ago in this channel. That is for the query port. The beacon port is where all the game information can be accessed through and that is built on the Unreal Engine AOnlineBeaconClient class with a layer of encryption underneath.

And it's all still subject to change, so that the data can be accessed by third parties in the future. (API?)

blazing halo
#

I do agree that it should be fixed. I just don't see why the confusion is worth having it be the default. There's a number of assumptions one makes about software like this, and those two break out of that assumption, causing confusion. It's all well and good having those features - as options. But I agree that back-and-forth isn't helpful.

blazing halo
#

I did also make an argument about low-hanging fruit before.

rose valley
#

The voting system is for gameplay features and it helps us gauge community interest. For technically minded request, if we find them reasonable (as I do find your windows Vs Linux behavior request), we usually act on them regardless of the votes. Voted on or not, we read every request. The final judgement is with us, not the number of votes. So by all means, use it. Things we discuss here are subject to being forgotten about.

blazing halo
#

Thank you. That does make me feel more confident about the QA site.

#

I will take my propositions there, then.

rose valley
#

If there is something I would appreciate is if you must ping me, do it during working hours. The rules say don't ping the Devs at all. I'm more flexible and okay with pings during work time although I may not show up for all of them.

blazing halo
#

Of course. For future reference, what's the timezone I should respect? I'm in Poland, so these may not align.

#

I could assume "Sweden", but remote work is a thing.

rose valley
#

Sweden, so CET 🙂

blazing halo
#

Got it.

#

By the way, is there someone I can molest politely query about the protocols the game uses? I would like to read the game's status and provide RCON functionality.

#

Or put up a library on GitHub, whichever.

#

Ah, so we're on the same time. Hm. That'll be interesting, since you're probably at work when I am. :D

#

At any rate, thank you for responding.

lusty orchid
#

My session seems to be private and I cant change to friends only

blazing halo
lusty orchid
#

What does this mean?

#

I am using dyndns

blazing halo
#

It means that the server doesn't understand or think in terms of "sessions".

#

Talking about session privacy in the context of the dedicated server is invalid.

blazing halo
#

"Sessions" are mediated by the platform, and are meant to connect players to each other. The server, in contrast, is a remote location to everyone, and all connect via IP communication.

#

Tell me what is unclear, but be specific please. I'll try to explain.

lusty orchid
#

Ahh, ok.

#

After I set up the server, I claimed it as admin.

#

But my friend couldn't authenticate

#

But now he somehow could join.

real frigate
#

Hi, I'm trying to run Satisfactory server on an ARM processor and I'm not having much success. Other emulated things work normally for me, but Satisfactory just doesn't. I know there is no official ARM support. Does anyone here have any experience with it?

novel yarrow
#

I't won't work. Binary is UE4Server-Linux-Shipping: ELF 64-bit LSB executable

real frigate
#

Even emulators won't start it? Like box64 for example.

novel yarrow
#

Someone already did it and commented: running the Dedicated Server in an Emulator isn't stable nor recommended

real frigate
#

😕

sage python
broken tiger
#

That reminds me @blazing halo, I never got to ask last time what you personally picked to run your serv : self-host at home or cloud platform ?

ebon bone
#

wait do i need to be on experimental to host a deticated?

jade sinew
#

Hey all, is there any good managmanet software for a DIY server? I have one running, but I don't like how i need to start up Satisfactory to check to see how many players are on it or other statistics,.

#

managment, rather

unreal crow
#

Hey could anyone lend me a hand? I am trying to relocate my server to a new VM but the Session name for my world save is "InvalidName" and no matter what I try I can't get the new satisfactory server to grab the old save file.

#

The world was created by a dedicated server to begin with, I think that's how this happened.

blazing halo
blazing halo
jade sinew
#

Thanks for the response!

#

There's a good one for Astroneer, so I was hoping that'd extend to Satisfactory. Maybe later. 😄

blazing halo
#

I should amend that it doesn't mean none exist, or will not exist. I did look for them, haven't found any yet.

autumn shadow
#

Is there a fix for homing ammo shooting out of my feet? Can't effectively use it unless I'm airborne because it just collides w/ ground

obsidian rune
#

Thing is, you just don't have the time to switch ammo during an encounter... so you either have it always loaded, or learn to shoot with standard bullets.

#

And I suppose when you're precise enough with standard bullets, you don't need the homing ammo... 😄

#

Well, either that, or just get more of them to shoot. Turbo ammo + short bursts ftw.

#

Also, that's not a DS-specific issue.

clever prism
#

Hi,

#

I've a problem setting up a dedicated server on Linux Debian 11. I follow the Wiki but can't connect to my server with the game client.

#

The only thing i can see is : LogOnline: Warning: STEAM: Failed to initialize Steam, this could be due to a Steam server and client running on the same machine. Try running with -NOSTEAM on the cmdline to disable.

#

This is the only game server running.

blazing halo
#

You will need to show us a log excerpt from around connection time.

clever prism
#

Oky, I have a lot of timeout :
Nov 07 23:26:14 ds04 UE4Server-Linux-Shipping[54672]: LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = ConnectionTimeout, ErrorString = UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 30.01, Real: 30.01, Good: 30.01, DriverTime: 101.07, Threshold: 30.00, [UNetConnection] RemoteAddr: xx.xxx.xxx.x:64033, Name: IpConnection_2147482517, Driver: IpNetDriver_2147482527 IpNetDriver_2147482527, IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID, Driver = IpNetDriver_2147482527 IpNetDriver_2147482527
Nov 07 23:26:14 ds04 UE4Server-Linux-Shipping[54672]: LogGame: Error: Network Error Recived: Type: ConnectionTimeout, MSG: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 30.01, Real: 30.01, Good: 30.01, DriverTime: 101.07, Threshold: 30.00, [UNetConnection] RemoteAddr: xx.xxx.xxx.x:64033, Name: IpConnection_2147482517, Driver: IpNetDriver_2147482527 IpNetDriver_2147482527, IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID

blazing halo
calm jacinth
#

did it again, truck crash into water, forced me out...spawn under the world with -1 items

#

didn't crash this time, but a trend this makes

#

after reconnecting...

#

always the truck and always after shenanigans

#

:/ now i feel a crash coming

#

yip

#

not the same as the last truck crash...this one was kind of random

#

[2022.11.08-09.39.07:124][392]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000001fad8590008
[2022.11.08-09.39.07:124][392]LogWindows: Error:
[2022.11.08-09.39.07:124][392]LogWindows: Error: [Callstack] 0x00007ffcc5f88440 FactoryGame-Engine-Win64-Shipping.dll!<lambda_18c34fe7df1e14af65b55b97f7d6ab2b>::operator()() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodyInstance.cpp:3085]

#

i'm by myself in the server this time

#

PhsyX? what the hell

#

AFGWheeledVehicle::OnIsSimulatedChanged() [D:\ws\SB-220602145101-842\UE4\Games\FactoryGame\Source\FactoryGame\Private\WheeledVehicles\FGWheeledVehicle.cpp:2764]

#

one of the vehicles must have derped

#

didn't take down the DS, just me

obsidian rune
#

Sounds like it, yeah.

marsh dawn
#

Make sure to drop a bug report on the qa site 🙂
My guess is that the physicsengine tries to simulate an invalid object on the client side, possible desync or similar. Could be a million reasons really because Access violation is mega broad.

obsidian rune
#

After a mishap like that, you're usually left in an inconsistent state, as evidenced by <lambda_18c34fe7df1e14af65b55b97f7d6ab2b>::operator()().

#

(most likely a lost pointer)

marsh dawn
novel yarrow
hidden rock
#

usually a manual edit of the save is enough to temporarily resolve it. just delete the vehicle and reupload the save

#

though the deeper issue still exists of course

calm jacinth
grave creek
#

so I just rejoined my dedicated server that I host, and it spawned me in the hub with an empty inventory like I was a new player. I remembered where I was when I logged out before, and my player is sitting there. how did this happen? am I able to get back the stuff from my original inventory?

calm jacinth
#

kill your previous self

mint junco
calm jacinth
#

if you don't have a weapon and can't get a weapon... might have to start the world over

#

only the first player to connect is given the stuff to start over

calm jacinth
#

it crashed immediately after autosaving tho

mint junco
#

Right, thank you.
I attempted to log into the server after last nights session.
It exceeded the 180 second initial connection timeout I have configured and when I checked the crash directory a fresh folder was there.
Hopefully it hasn't rolled back to the previous save.

calm jacinth
#

check the file in the Log folder

#

the one it copies to the Crash folder never has the trace

#

it copies it before the trace is completed

grave creek
calm jacinth
#

just beware that it might happen again

#

i went from my name to like 278 (a number) then eventually back again

#

but yeah, killing the idle player will drop their player crate so you can get the stuff and move on

obsidian rune
calm jacinth
#

roh roh, DS died...

calm jacinth
#

it didn't it...kicked me out upon save completition in DS

#

log doesn't really say anything other than that

blazing halo
#

How long did the save take?

#

(it's in the log)

mint junco
blazing halo
#

Can you try adding a -multihome=0.0.0.0 to skip the built-in router?

#

Or are you the guy that gets a crash on that?

#

Because I fail to remember. :D

mint junco
#

I don't have a problem with routing. It was just a random crash on loading in earlier today.

blazing halo
#

Oh, okay.

#

In that case, report it and move on?

#

I guess.

#

It's a weird moment to crash, but it happens right on connect, and I can see you're routing through 127.0.0.1 so.

mint junco
#

Yup yup, figured you or others were practiced at reading the logs and might spot something glaringly obvious.

blazing halo
#

Apart from using the somewhat-troublesome built-in router? No.

#

I mean, long save times (80+ seconds), but you already know that.

mint junco
#

Is -multihome=0.0.0.0 a switch on the service?

blazing halo
#

It disables the built-in router, and - in this case - restricts the server to IPv4.

#

In server parlance, 0.0.0.0 basically means "all available IPv4 interfaces".

mint junco
#

Yup well aware of the save time. I have the timeout set to 180 seconds
That might be a good idea to disable IPv6 anyway.
Who uses it...

blazing halo
#

Which is kind of a problem, because it really should be used more widely. Unfortunately, it's not.

#

Software tends to do dumb things with it, too.

#

Like, the Satisfactory dedicated server, for example. xD

mint junco
#

yup it used to mess with exchange servers

#

There's the crash...
[2022.11.08-11.39.34:222][383]LogGame: Succesfully saved a local backup with name: valebridge.net_autosave_3-11.08.22-11.39.34.sav
[2022.11.08-11.39.34:224][383]LogGame: Write Backup to Disk and Cleanup time: 0.023 seconds
[2022.11.08-11.39.47:850][383]LogServer: Opening a new route from '192.168.0.101:55950' to '127.0.0.1:15000'
[2022.11.08-11.39.47:850][383]LogWindows: Error: === Critical error: ===
[2022.11.08-11.39.47:851][383]LogWindows: Error:
[2022.11.08-11.39.47:851][383]LogWindows: Error: Fatal error!
[2022.11.08-11.39.47:852][383]LogWindows: Error:
[2022.11.08-11.39.47:852][383]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000001e3180768

blazing halo
mint junco
#

exactly but that's when it went belly up

blazing halo
#

You'll want to include at least the first two lines from the call stack. (The whole thing if you can.)

#

At any rate, I nearly religiously subscribe to Ockham's razor - Numquam ponenda est pluralitas sine necessitate. The built-in router is unnecessary if you know basic networking, and it only gets in the way, doing stupid things while it's at it.

#

Like this:

[2022.11.07-18.11.48:484][504]LogServer: Opening a new route from '192.168.0.101:56493' to '127.0.0.1:15000'
[2022.11.07-18.11.48:484][504]LogNet: NotifyAcceptingConnection: Server OnlineBeaconHost_2147360892 accept
[2022.11.07-18.11.48:484][504]LogNet: NotifyAcceptingConnection accepted from: [::ffff:127.0.0.1]:52852
#

Because it makes perfect sense to route IPv4-to-IPv4 traffic over IPv6. Doesn't it?

#

Yes, it's the loopback, so I'm not sure if it even touches the IPv6 stack. Still.

#

And if it's meant to limit the number of ports to one,

#

what use does it have over LAN?

#

And, if you ask me, it makes little sense... how big a host would you have to be, to be running over 21 000 instances of the server?

#

I mean, sure, I get the idea... 1 < 3... but still.

mint junco
#

A host can't even cope with 1 currently

#

Ok, I add the multihome switch to the arguments I guess?

blazing halo
blazing halo
#

... timing. ;D

#

I have to ask. I really have to ask. How much shit would you need to be running, before you start running out of available ports to assign?

#

Before cutting 2 ports per instance becomes worth it?

mint junco
blazing halo
mint junco
#

cool thanks Kad, I'll give that a whirl.

blazing halo
#

I mean, I don't use NSSM, but as far as launch arguments - it looks OK.

blazing halo
# mint junco

Keep in mind that you will need to have the three ports (7777, 15000, 15777) open in the firewall (if you're using one).

mint junco
#

It was in the wiki and seemed fairly straightforward

blazing halo
#

If you're port-forwarding, you will need to forward those as well, if you haven't already.

#

With the internal router disabled, the game will actually make use of all three.

mint junco
#

Yup that's been in place since I set it up

blazing halo
#

The funny part is: every tutorial I've seen (even the one on the Wiki) tells you to open/forward all three. Nobody ever mentions the built-in router.

#

(the router makes it so that all communication happens on one port, and it then distributes it by connecting from itself to itself locally)

mint junco
#

Thanks for your help Kad

blazing halo
#

Sure thing.

fringe sinew
#

cant connect to server, could this be the cause? LogOnline: Warning: OSS: EOSSDK-LogEOSP2P: NAT Detection failed, unable to resolve host

calm jacinth
#

got another crash, this time getting out of the explorer (nothing extraordinary leading up to that)

#

gonna submit it + the truck crash that had the same signature

quiet fossil
#

I've been noticing creature respawns in powered factories on dedicated servers lately, but I haven't seen any mention of respawns in factories since August here. Anyone else having this issue? Sometimes it happens with fully powered factory built all around, and sometimes it's when you're tearing down and rebuilding something, as soon as you pull the last powered item it's like all the creatures queued up, not waiting a couple of day cycles to spawn.

This one in the picture showed up just now at a fully powered Aluminum factory on the border of Gold Coast and Rocky Desert, at the bauxite node way up high, so not much chance of it just wandering by from somewhere else.

mint junco
#

After update 6 every creature respawned on my server and some slugs too which is nice.

I'm fairly certain I've not found every single creature inside a structure.
For instance I had a spitter and 3 crab hatchers inside an oil pumping chamber.

quiet fossil
#

I knew there was a but after 6 where creatures would respawn when they shouldn't, but I thought they fixed that. Haven't noticed slugs respawning yet, but definitely seeing hostile respawns in powered areas.

jagged root
#

Hi All. Looking for some help setting up and running a dedicated server. Please speak to me as if I am completely computer illiterate. It is the first time I ever set up a dedicated server. Also apologize in advance if I ask dumb questions. I am running a linux server. I got the game installed. when I try to run the file ./factoryserver.sh

#

I get a return message that says Refusing to run with the root privileges. what and why is that?

jovial haven
#

You are trying to start the server as the user root, which is not allowed as that user has the highest level of authorizations and it couls pose a security threat. You should be running the server with any other user account

jagged root
#

Ah!

#

in that case... how do I go in using other user account?

#

actually... let me try to search the web and see how I can create and login using different user account on linux server first! thanks 😄

jagged root
#

@jovial haven thanks! it "worked" I was able to run the command... but I don't know if the server is up. just got a bunch of messages scroll up (also a lot of error messages as well)

calm jacinth
#

👀 don't get in a vehicle while it's saving only way out is to drive into water

#

seriously, so many problems with DS would be fixed if it locked players during saving like SP does

obsidian rune
crisp glacier
#

i tried to join a server from a friend and then the game crashed

obsidian rune
crisp glacier
#

jupp

#

works now

obsidian rune
#

👍

obsidian rune
undone dune
#

Hey people, I want to set up DNS so people can join via domain name instead of typing the IP address. I have trouble making the SRV record though

undone dune
#

huh

#

I did make one

#

wanna try it out for me? I am currently at work but I can remote access my server at home

novel yarrow
#

I'm also at work 😉

undone dune
#

Ah, yea it do be like that

#

Oh it works

#

Nice

novel yarrow
undone dune
#

I guess I was thinking too difficult about it

wintry stone
undone dune
#

Yea my router only has port forwarding, but since I have a domain name anyways, I usually just use that for any game server I make

obsidian rune
#

Besides, that only really makes sense when your service uses one port. Most game servers use multiple.

#

And even then, the client app in question must be aware that it can use SRV records. Most aren't aware.

undone dune
#

Yea you're right. I just autopiloted to making an srv record and didn't really stop to think I guess lol

obsidian rune
#

I suppose Satisfactory could benefit from a SRV record, since with the built-in router it can present as one port.

#

But then, it would actually have to look for it, and there's no info on what it should be. _sf._udp.domain.com? :D

undone dune
#

It works now, The A record works fine

undone dune
obsidian rune
#

I guess the correct question would be: does Satisfactory support SRV?

undone dune
#

I doubt it

#

Otherwise there would be something on the wiki page, I guess

#

or my experimenting worked

#

but it didn't

obsidian rune
#

Not necessarily... the Wiki page doesn't mention anything about the built-in router, but it exists.

#

The only way would be to actually record the DNS queries Satisfactory makes when connecting to a server.

#

Or just ask Bogdan. He would know. xD

#

It would probably be something _sfquery._udp, _sfbeacon._udp and _sfgame._udp for completeness.

#

Or just _satisfactory._udp. Or, like you proposed, _factorygame._udp.

#

It would suck if they used the internal project type for the identifier, though... that would imply it's a UE thing, and there's a number of games identifying themselves as 'ShooterGame'. :D

#

(at least CONAN identifies as 'ConanSandbox' :D)

undone dune
#

Thats kind of funny

#

I have this .com domain so its easier for my friends to remember what to connect to

#

currently have a satisfactory and a minecraft server running. But maybe conan replaces one of them in the future if they want to get into it

obsidian rune
#

Same here. Have to rely on DDNS, but that's not an issue.

undone dune
#

Oh right, another question

#

I can change the server name. But it wont change the session name of the server for some reason

obsidian rune
#

Yuh?

undone dune
#

I want to keep the save but I want to change the name of it so something more professional

obsidian rune
#

Ah, yes... I'm not sure how to manage those. Last time I changed the save name, it refused to load it until I changed it back.

undone dune
#

Yep.... same

#

🥹

obsidian rune
#

I'm not sure if I failed to change the file name, or if it's saved in the file.

obsidian rune
undone dune
#

I tried it twice, the first time it crashed completely and the second time it refused to load up the save lol

obsidian rune
#

However!

#

You can test it for me! :D

#

(since I'm at work)

undone dune
#

Sure I made a backup already

obsidian rune
#
  1. save the game under a new save
  2. change the session name
  3. restart the server
  4. manually load the save you saved
#

See if it changes back to the old session name, or not.

undone dune
#

is there a command for restarting the server without using Quit and manually booting the batch file again?

#

I tried "restart" and "reboot" but it doesn't work

obsidian rune
#

Not as far as I'm aware. It has the internal restart process, but I'm not sure it can be triggered manually.

#

Another thing to ask Bogdan.

#

Maybe we should keep a list of questions, to post on the Questions page... xD

undone dune
#

based idea

obsidian rune
#

Kinda sounds like nobody thought to do that. Or maybe just me.

#

Regardless. xD

undone dune
#

How about..... I just

:begin

FactoryServer.exe

timeout 10

goto begin

#

Engineeer

obsidian rune
#

That works too... unless it crashes without exit, which it sometimes does - at least to me... :D

undone dune
#

Oke so I save the game under a custom save file

#

Changed the session name

#

Nope, doesn't work

#

it changed back to the previous session name

undone dune
#

Anyone know what this is about?

#

If the server has nobody connecting in 300 seconds it wont connect anyone anymore and I have to reboot it

#

I think I effed up somewhere...

#

The server will just show up as offline and it wont do anything anymore

obsidian rune
#

No, it's the built-in router being a shit again.

#

Launch with -multihome=0.0.0.0.

undone dune
#

with 0.0.0.0 you mean the internal ip of the server I presume?

obsidian rune
#

No, I mean literally 0.0.0.0 as it'll make it latch onto all available IPv4,

#

which is the default without it anyway.

#

You CAN substitute it with your IP, if you want.

undone dune
#

Aight

obsidian rune
#

Note that this will disable IPv6.

undone dune
#

My ISP refuses to give ne IPv6 so thats fine

obsidian rune
#

(which, I find, is actually a good thing with Satisfactory... 😂)

undone dune
#

Will it spell trouble for friends that only have an IPV6 address?

#

I know a goober that for some reason has no public ipv4 address at all.

obsidian rune
#

Does he have NO IPv4 at all? Or just not a public one?

obsidian rune
undone dune
#

Internally he does

#

just not externally

#

his ISP only gave him an IPV6

obsidian rune
undone dune
#

As far as I know it doesn't no

#

the ISP I'm with does not do IPV6 yet

obsidian rune
#

Then what's the problem? If his network hookup is IPv6-only

#

he won't be able to connect ANYWAY.

undone dune
#

oh damn you're right

obsidian rune
#

In fact, he won't be able to reach anything that isn't on IPv6.

undone dune
#

I should grab more coffee

obsidian rune
#

So basically, most of the Internet is invisible to him. :D

undone dune
#

That doesn't sound right. but indeed a lot of stuff is broken for him

obsidian rune
#
  • so I assume he has SOME IPv6-to-IPv4 tunnel set up somewhere.
undone dune
#

somewhere yea

obsidian rune
#

So - no concern.

#

IPv6 only matters if you received an IPv6 pool from your ISP,

undone dune
#

Right

obsidian rune
#

and then distribute IPs from it via your router to your internal machines.

undone dune
#

There shouldn't be a problem then I guess

obsidian rune
#

My ISP doesn't even support IPv6, so... I just kill support for it on the system level.

#

That way no app/service can become confused.

#

Like Satisfactory. xD

undone dune
#

I needed to learn how to calculate ipv4 addresses in binary when I was still in school for some reason

#

never needed that info since, but thats completely unrelated

#

The server seems to not cave in after 300 seconds now!

#

success, awesome. Thanks for the help

novel yarrow
frank stag
#

Is anyone else noticing weird delays on dedicated servers after a few days of building? Long seconds or minutes before power switch readings show the grids, or fluids reach machines to start production, etc

undone dune
#

I am guessing its just the server grinding to a halt because too much is happening?

#

Maybe see what hardware its on

frank stag
#

I'm running it on my own pc, the hardware is more than sufficient :p

undone dune
#

Right, yea that should indeed, be sufficient lol

#

So you are running the server, plus satisfactory on the same machine? Isn't that like, a bit counteractive?

#

Why not just host your game at that point

frank stag
#

...I'm hosting a dedicated server for others

#

in addition to myself

undone dune
#

If it makes sense to you I guess? lol

I wouldn't know why the performance decreases then. Only thing I can think of now is perhaps checking the logs, but you're probably ahead on that

#

I currently got a server running with around 9 hours of playtime on it. Still absolutely fine performance wise. I'll see if the same problem you have occurs

wintry stone
#

how much memory does the host you're running both on have?

frank stag
#

Currently using 47% of my cpu's memory

wintry stone
#

ahh ok, I know my server is using at least 10gb so I could easily see hitting a low memory amount if you're also running the client and say chrome and some other stuff

frank stag
#

I've got 32gb on this pc

wintry stone
#

ok probably not that then

undone dune
#

More then enough yea

#

I dont know how much ram speed affects it

#

but I doubt it would

wintry stone
#

I doubt a ton unless it's REALLY old stuff

frank stag
#

it's a good pc.

undone dune
#

If you say so

wintry stone
#

how's the game run without the dedi server running? pretty normal?

undone dune
#

I am assuming the people connecting to your server report the same performance problems?

#

Even when you are not there

frank stag
#

There aren't any performance problems for moving around, jumping, etc

#

It's all with the automated systems

undone dune
#

yea

#

I assume so

wintry stone
#

is this just visual stuff like the conveyors glitching their items off the belt a bit?

#

the power switching one I guess sounds worse than that

frank stag
#

Na, though belts are def glitchy, that happens during solo playthroughs not on a server

wintry stone
#

yeah that's pretty common but not a functionality issue

frank stag
#

One example: I hooked a single packager to a refinery producing fuel, one pipe and no junctions between them

#

it took nearly two minutes for the packager to realize that it was being supplied with fuel before it began packaging

#

the pipe supplying the packager was full, it wasn't a headlift issue, etc

wintry stone
#

oh that does sound like a really long time unless it's a HUGE connector or uphill >=10m or something like that

undone dune
#

Yea so the server just has trouble keeping up with all that is going on then.

frank stag
#

I'm sorry I think that's a big assumption

#

I think this is a coding issue, not a hardware issue

wintry stone
#

when you log onto it what's the "average tick rate" in the server joiner screen say?

frank stag
#

30

wintry stone
#

oof, yeah something is slow 😄

undone dune
obsidian rune
obsidian rune
#

Ah, right, you said 30.

#

Then yes, it sounds like there's a bug there somewhere. Can you record the issue on video?

frank stag
#

Is 30 the default? I'm browsing an optimization guide now that suggests upping the default to 120

obsidian rune
#

30 is the default, and you technically shouldn't need more than that. Making it faster means there will be less time to do things.

wintry stone
#

oh I'm not sure I realized it had a default - mine started 120ish and usually creeps down as the world grows 😆

novel yarrow
wintry stone
#

interesting - I assume if it's 30 for the default then it was overridden to 120 somewhere in the docker setup I borrowed

#

yep NetServerMaxTickRate=120

novel yarrow
#

[/script/onlinesubsystemutils.ipnetdriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600
NetServerMaxTickRate=120
LanServerMaxTickRate=120
MaxNetTickRate=400
InitialConnectTimeout=300.0
ConnectionTimeout=300.0

#

Until this change all was fine, but after that respawn under ground, teleportation issues etc.

wintry stone
#

yeah that looks identical to mine at the moment

#

I however haven't noticed issues or corruptions so far (probably 70hr of game time)

blazing halo
#

Remember, folks: everything happens on a tick. That means that events have to wait for the next tick to fire and get handled. That also means that the game has to do a lot of stuff every tick - update the variables, update the players, process new player input, and so on. The higher the tick rate, the less time per 1 tick.

#

At a tick rate of 120, the game has a little more than 8 ms to perform actions.

#

Increasing the tick rate does have a reason: if your hardware is capable, it will make the experience smoother, more granular. But it has downsides as well.

wintry stone
blazing halo
#

And if your hardware can't keep a tickrate of 30, what makes you think it'll be able to keep 120? :D

wintry stone
#

oh it's been pretty stable, but also it's a newer computer and running almost only satisfactory server most of the time 😆

blazing halo
#

I'm not talking to you specifically, just in general.

#

People ask how to increase the tickrate, and they get told which file to change. What they're actually asking is "how to make the server run faster", and increasing the tickrate won't help since it's a ceiling, a limit.

#

If the CPU can't keep 30, increasing it won't help at all.

wintry stone
#

yeah that's a good warning then

#

I hadn't really considered the 120 since it worked out of the box for me

blazing halo
#

I'm running 60 myself.

#

Figured - just 1 player, the CPU can handle it.

#

Doubt I'd want to go beyond that, tho'.

wintry stone
#

I guess I know what numbers to fiddle with if my server goes to crap later 😆

blazing halo
#

Not really?

#

I mean, if it starts dropping, clamping it down won't really help any.

grim mica
#

You really dont need to change the tickrate, when your world gets big enough - even with one player it will unlikely run at a constant 30

blazing halo
#

And keep in mind, that the clients must also be able to keep up with the server.

grim mica
#

My dedi is on a 8700k w/ 32gb mem, world save takes about 55 seconds currently when I am connected the avg tick rate hovers around 23-25

#

In terms of the clients, they dont really need to keep up unless you travel around and load in all objects across the map

#

I can pop in to a very unbuilt area and get 140fps, but when I travel to my nuclear setup, across the north of the map my framerate drops to around 60-70 average

blazing halo
inner onyx
#

Quick question, are mods able to run on dedicated servers?

grim mica
#

No mods on dedi yet, unfortunately

blazing halo
#

Mods do not currently support the server, no.

#

Go pester the mod community. :)

grim mica
#

The save file is 14.1MB, not sure how to translate that into real world - but yeah its pretty large

tiny idol
#

remove trees, add size - kinda funny how that works

inner onyx
#

Hmm, kk. Could I run the full client through Epic on one PC (without a character in the world) and login to it with a steam based full client?

blazing halo
#

The most painful thing for me, is that you can't run the game client without graphics. :D It would do as a quick & dirty modded "server". Alas. I don't want that sort of load on my electrical bill.

tiny idol
#

though technically, the steam client and the epic client gives ya 2 different characters, even if you connect the accounts

inner onyx
#

is IGPX supported by satisfactory? 😄

blazing halo
#

What is IGPX? Other than an anime.

#

Did you perhaps mean iGPU?

grim mica
#

I wonder if setting a windowed mode with framerate limit and absolute minimum settings would help with that, suppose its worth a shot

inner onyx
#

Oh, might have my acronym wrong, its the GPU built into the CPU

tiny idol
#

integrated graphics processor

grim mica
#

Yeah, I believe the common term is IGP ^

blazing halo
#

Well... it doesn't officially support them, but there's Reddit evidence to suggest that it does work. For a given definition of "work".

blazing halo
tiny idol
#

anything works, if you set it to run at like 320x240 ;D

inner onyx
#

Actually have a GTX 560 in this PC

blazing halo
#

It would still engage the 3D performance levels, regardless. That's a power draw you don't want for a server. But eh.

#

If you can foot the bill, have fun.

tiny idol
blazing halo
#

Not sure about expanding them.

grim mica
#

Ive definately seen alot of tech media refer to it as IGP, semantics either way - gets the point across

blazing halo
#

I haven't. Maybe we're in different circles.

grim mica
#

Yeah, set the res really low, windowed and graphics quality lowest - should work to run a pseudo dedicated w/ mods

tiny idol
#

i think its called something entirely different in some BIOSes aswell, so what ever floats yer boat : >

blazing halo
#

I suppose that's true, yeah.

#

Manuals FTW.

tiny idol
#

i usually set it to the absolute lowest available resolution, go window mode - and then minimize 😄

blazing halo
#

Look at the floor/ground, too.

#

Then kill the sound in the mixer.

tiny idol
#

resolution scaling at minimum too, if available

blazing halo
#

Still, it does have disadvantages. Not every 3D-capable program likes to share.

tiny idol
#

i'd kill such a program with fire

blazing halo
#

And like I said, the GPU will still enter the 3D performance mode, so it'll draw extra power for basically no reason at all.

#

For something that's supposed to run 24/7, that's something to consider.

tiny idol
#

out of curiosity, how damn high is your power price if you're worried about like 30 watts? 😛

blazing halo
# tiny idol i'd kill such a program with fire

Yes, well - the worst offenders are old games (if you're trying to run one, you probably don't want to kill it with fire) and "industry standard" software you probably can't function professionally without.

grim mica
#

GTX 560 is a 150w card.. plus the other system components, granted probably wont be 100% load but 30w is not probably not going to be the only power draw difference

tiny idol
tiny idol
blazing halo
#

Just by bringing the voltages up, it'll be consuming considerably more power at idle.

grim mica
#

Also, my tier 4 power cost from power company (southern california) is $0.47/kwh.. so yeah adds up when its on 24/7

blazing halo
#

But eh. It won't be the full experience, at least.

inner onyx
#

I wish GeForce Now supported mods.

tiny idol
#

my power costs about a tenth of that - heh

inner onyx
#

How does that actually work, that the dedicated server is able to save the game without having the players getting paused?

blazing halo
#

Mine's $0.15/kWh, but that's in Poland, so the realities are a little different.

grim mica
#

Sure you can underclock it, but also is that affecting the "server" tickrate - at that point its better to just run the save in normal SP

blazing halo
grim mica
#

With a 55 second save time.. its really fun too! You get absolutely no warning that an autosave is happening and everything basically just freezes

tiny idol
#

55sec for 14MB is kinda insane though

grim mica
#

I would imagine the hosted tickrate/simulation must be tied to FPS somehow or another, but just speculation

#

14MB is not the problem, its entity serialization that takes pretty much all of that time

#

[2022.11.09-05.58.02:119][271]LogGame: World Serialization (save): 52.134 seconds
[2022.11.09-05.58.04:191][271]LogGame: Compression: 2.066 seconds
[2022.11.09-05.58.04:191][271]LogGame: Write To Disk: 0.003 seconds
[2022.11.09-05.58.04:191][271]LogGame: Write Backup to Disk and Cleanup time: 0.004 seconds
[2022.11.09-05.58.04:257][271]LogGame: Total Save Time took 54.272 seconds

tiny idol
#

its still 14MB of data : >

#

0.003 sec write 😄

inner onyx
#

But players in the game don't notice the saving right?

grim mica
#

Well its an M.2 NVME so yeah

#

Its sort of weird when its happening on the client

#

Basically, if I have a object selected, I can take at most 3-5 actions like building belts or foundations and then once its completed it "catches up" and happens all at once

tiny idol
#

luckily i havent encountered any save longer than 2 seconds since i started playing in upd2 ^^

grim mica
#

Sometimes, it will just not let me change my entity selection or anything aside from moving

#

Movement is also fun, often times it will catch up and I will be in a completely different spot or dead if it happens at a very inopportune time when jetpacking/landing from a high place - luckily that doesnt happen as often since you dont immediately die from 100% health fall damage anymore

tiny idol
#

that ive encountered on a mates server however, and things disappearing from the game world, but still being partially there, just not visible or interactable, but solid 😛

grim mica
#

Oh yeah that happens with explody rocks, trees or creatures when they die all the time

tiny idol
#

he also had some trees that never died - so u could keep cutting them down for all eternity and get resources forever ^^

inner onyx
#

I don't think I can go back to vanilla 😦

grim mica
#

Well.. I build the entirety of that massive map completely in Vanilla, so its doable.. just time intensive

#

When U7 hits, I will create a new U7 map and do it all again, full Vanilla

blazing halo
grim mica
#

This 55s save is only the U6

#

He was remarking on the write time vs compression/serialization.. so sure it does - 0.003 seconds to write 14MB

novel yarrow
inner onyx
#

How do you see tickrate?

blazing halo
blazing halo
grim mica
#

Very true, agreed the write time is trivial in pretty much all cases

inner onyx
#

ah right of course

blazing halo
grim mica
#

I think BLAndrew's save (in SP w/ mods granted) takes 10 MINUTES to save.. so that would probably be a point where disk speed would have at least a slightly noticeable impact as I would expect that save file to be in the hundreds of MB - overall still negligible in the overall save process

blazing halo
#

Unfortunately.

grim mica
#

Yeah understood, no worries - just wanted to clarify it as well. HDD vs SSD vs NVME SSD is unlikely to show any improvement at all in 99% of players

blazing halo
#

True, I'd expect it would take a few seconds. But yes, still nowhere near any significance.

#

Hell, this might be the one game where putting the save onto a RAM disk would actually make it worse. In the microseconds range, likely, but still.

#

Which, I will admit, is something I considered before I opened the log for the first time.

#

Thankfully, the devs decided to put in a detailed timing breakdown in there, and it quickly clarified why putting the save data on a superconducting CPU-tied static RAM chip wouldn't help.

grim mica
#

Save it to the L2 cache for max performance!

blazing halo
#

Doubt it'd fit. L3? 😂

grim mica
#

Ah you right, the 5600x3d has 96M L3 and only 4M L2

blazing halo
#

I'm on the 3770, remember... xD

#

Like 1 MB L2, and 8 MB L3.

#

It would still be a tight fit, but...

#

... at least for mine, it might work.

#

Would play merry hell with the CPU, but theoretically...

grim mica
#

I wonder if you can even address the processor cache as a usable disk area

blazing halo
#

I would go out on a limb and say the count would be nonzero.

#

Like that one guy that didn't put in a program loop into the PDP-40 (I think?) program he was writing,

#

because by the time the loop finished, the drum rolled over.

#

Hmm... L3 isn't directly accessible, but it might be possible to structure the program in such a way as to make "pockets" with values you want. It would then be a "simple" matter of joining them to form a contiguous virtual space.

#

I don't think it would make any appreciable difference vis-a-vis RAM. It would still be a little marvel, though. :D

#

Writing it would be a pain, I suppose. It'd likely need to be hand-optimised assembly.

inner onyx
#

hmm, getting error 33

#

hmm, ill try vanilla

#

omg, average tickrate 17... thats not going to work

grim mica
#

Was that an existing save or new?

inner onyx
#

existing

grim mica
#

Ouch, I do notice that it does take a minute or two stabilize for some reason when starting up larger saves

#

What if you arent connected?

inner onyx
#

Let me check. Do mind that its running on a i5-4670K, 16 GB memory on WIndows.

#

tr 30 when I'm not on it

grim mica
#

Exactly what mine does, keep in mind a tickrate lower than 30 is still certainly playable

#

I do get alot of misconnected belts/pipes and when fast building machines (batteries in particular) you get alot of "double" entities, where there are literally two of the exact same building in the same position

#

I dont know if that is related to tickrate or just a generic bug/experimental dedicated however

inner onyx
#

Jup, still 17 after a few minutes

blazing halo
#

That's... not great.

#

But considering it's a larger save...

#

As long as you can accept that things will be a bit wonky and adjust your behaviour accordingly, it's playable.

#

Still. There's a point where loading the save into SP is more workable.

novel yarrow
#

In the meantime, I've been working hard and here are some results to share.
I've ran Satisfactory Dedicated Server on few computing clusters, some of them were:
Beowulf Cluster - a high-performance parallel computing cluster from inexpensive personal computer hardware
Parallel Virtual Machine - software tool for parallel networking of computers
Docker Swarm cluster - most modern solution, allows containers to be scaled across multiple Docker daemons

The most promising was PVM, since it spawns process on each node concurently and gives output on the main thread.
On non-clustered server single process is spawned, it has up to 40 sub-processes with unique PIDs, which I assume are the workers. That workers need to be split between computing nodes to get best performance in computing tasks (like calculations on very large map) and results have to be returned back to the main thread. This process is also very resource-hungry, both in CPU cycles and RAM used; so that should be also split between the nodes.

In case of Swarm there is a possibility that if docker-compose could contain config of one container type haproxy for UDP redirection and the second one for the game that spawns multiple processes via commandline switch like --threads=2 could be scaled up via docker service scale Satisfactory=2 command.

Current status:
Beowolf - spawns process on each node (so 3 independent servers are deployed)
PVM - spawns process on each node (so 3 independent servers are deployed)
Swarm - spawns multiple processes on the same node, I'm still investigating this

It seems likely it could be good test bench for Google Cloud Agones, which utilise Kubernetes. It's open-source, multiplayer, dedicated game-server hosting.

mental locust
#

Good afternoon

grim mica
#

Not sure I understand where you are going with the cluster thing - is this similiar to Clusterio? You "input" resources from nodes and "output" to other nodes - basically making the factory distributed across instances with a central/master database that tracks things submitted to the cluster

#

Or are you just running multiple independent instances? In which case where does the clustering component come in?

novel yarrow
#

I'm trying split workload of single instance.

grim mica
#

Isnt the main loop essentially single threaded? How are you distributing the instance?

#

PVM is parallel - which doesnt exactly work in terms of process distribution if you are waiting on something from another node

#

@inner onyx What I see when I join the server, also the CPU usage in TaskMgr on the server goes from about 8-10% to 20-30%. Adding the player seems to add significant overhead

#

Apparently I am mixing up the terms Distributed and Parallel - either way the same question is posed, how are you syncing the differences between the instances?

grim mica
#

When building giga-bases in Factorio - i've used a mod called Clusterio that does what I described above, but its basically individual worlds/instances that submit items to the "cluster" and each member instance can pull/push from the cluster. This eliminates the distributed/parallel processing latency issues that come with this. I've built a Clusterio cluster that contained ~15 instances across 5 physical machines in my house

novel yarrow
blazing halo
#

And here I was thinking you're virtualising the one instance amongst the cluster.

#

But eh, I guess that'd be too much to ask. And hell, I know nothing about clusters other than "they exist". :D

limber flare
#

eh i got a gtx 1650 Ti and a Intel(R) Core(TM) i7-10750H CPU @2.60GHz

grim mica
blazing halo
#

I wonder how (insanely) difficult it would be to virtualise multiple cores into one "virtual" CPU with their combined power. I mean, we'll have to go there eventually.

limber flare
grim mica
#

I dont think I have the ports open, one sec

grim mica
#

Yeah, that doesnt really work that way - the problem is network latency

#

With high tier true distributed (or even parallel) clusters you are talking Infiiband type networks that are in the microseconds of latency and 100Gbps links

limber flare
#

well, i got on most of the games i play around 7 of ping and 570 mb/s

grim mica
#

I've seen a few of these types in the field of clusters but they are typically for simulation of fluid dynamics or other very specialized applications like video encoding

#

Apparently Terraria uses 7777 so its already forwarded lol

limber flare
#

ok

blazing halo
#

I'm surprised you don't change your port assignments. I group based on game.

#

(my SF is running on 20010/20011/20012)

grim mica
#

I host alot of stuff for other friends and they are usually too stupid to input ports

#

That 8700k machine atm is only Satisfactory, so those other ports were already in there from previous

blazing halo
#

I see.

novel yarrow
blazing halo
#

I mean, mayhap "minions" be a better term?

#

;]

limber flare
#

someone got a session id?

grim mica
#

Cause playing solo is boring in alot of games.. Terraria, Space Engineers, Valheim, Factorio - honestly aside from normal Half-Life DS stuff not very common to run into port overlap between games

#

I sent you the IP in PM Ryan, you have to add it to Server Manager

blazing halo
#

So they're warm bodies. Okay.

grim mica
blazing halo
#

(and could still overwhelm a 16-port 10/100 switch hub into dropping connections with just 7 players :D)

grim mica
#

What you are essentially doing is just saving disk space by not storing the binaries and content locally, instead streaming it over the network

novel yarrow
#

That's why I mean that requires implementation in the code.

grim mica
#

Right, which is something that CS is extremely unlikely to undertake - the return on investment simply isnt there

#

This is something that could be done with mods however

blazing halo
#

I'm not really sure what it'd achieve. Unless you can bind the machines together to present a virtual (distributed) CPU, I'm not really sure if it'll help performance at all. Unless that's not the point?

#

I mean, if it could be parallelised easily, it would already make more efficient use of modern CPUs.

grim mica
#

It would in fact be an extremely severe performance detriment with the current system, imagine introducing network-level latency to previously memory constrained operations that happen on-chip

limber flare
blazing halo
#

(still, there's an idea... decouple the main ticker into multiple schedulers, only loosely coupled, and try that)

grim mica
#

The 10750H is a mobile chip and would run a smaller dedi just fine, just not into megabase territory

limber flare
#

alr

#

i'm supposed to get an i9 with the rtx 3090 or 4090 if avaible i've saved up for over 3 years

#

i'm still unsure of if it is a good idea or not to buy it

blazing halo
limber flare
#

alr

grim mica
#

Unless you need the cores, I would stick to an i7, i9 is really for productivity where the core count is really necessary

limber flare
#

it can apparently get overclocked to 6GHz or to 9GHz i forgot it's one of these

grim mica
#

Sure, on LN2 in benchmark/lab scenarios.. lol

blazing halo
limber flare
grim mica
#

Learning blender vs actually using blender as your job wherein 10m vs 7m renders are important is where the i9 matters

#

On your own machine.. not really relevant for the instance cost difference

blazing halo
#

And we're not talking 10m vs 7m, we're talking 10 hours vs 20 hours.

grim mica
#

Well - that depends on what is being rendered too

limber flare
#

201 to be more exact

grim mica
#

Does it matter if its left on to render while you are sleeping? Ultimately its up to you on those durations vs cost

blazing halo
#

I sometimes run CLI renders on our studio server. Not a great machine, but it runs 24/7, as opposed to our 3D artist's PC.

#

Typ. render times between 4 and 6 hours. She can probably squeeze it down to 3-4.5, but it's useful to have her do other things.

limber flare
grim mica
#

Understood, just shifting cost from CPU into more (or faster) memory for instance is a better usage of $$$ imo in the long run

#

Better cooling, better storage, etc

blazing halo
#

It really depends on what you're doing.

limber flare
#

uhm

#

tbh money is kinda my last of carings

blazing halo
#

If you're doing video compression or running builds, core count is king.

limber flare
#

ug

#

ig

blazing halo
#

I'm a poor polishfag. Sponsor me. 😂

limber flare
#

i'll take your soul.

blazing halo
#

A minion? :D

limber flare
grim mica
#

In that case.. Intel probably isnt the answer either - use Ryzen

limber flare
#

soul.

blazing halo
grim mica
#

13900k $732 vs 7950x @ $630 and its still better at Blender

#

You want gaming performance? Intel is the current king

blazing halo
blazing halo
#

I'm still on a 1080p60 display. I'm not even sure why I have the GTX1080.

#

I mean, it might make a difference on a 240 Hz display, in terms of competetive play.

limber flare
#

lol

blazing halo
#

Still, 0.1%tile 80 fps is damn respectable for Cyberpunk.

limber flare
#

mhm

wraith geyser
#

is there like a list of servers to join somewhere?

grim mica
#

When I started getting disconnected from my dedi (before figuring out how to adjust the timeout settings) I heavily reviewed upgrading my main rig (9900k w/ 32gb DDR4-3200) and replacing the 8700k (32gb ddr4-2133) but the difference in save time was only 2-4 seconds

blazing halo
#

I guess the 7900X is my next upgrade target (on 3900X currently). Seems more like an evolution than a revolution, which is exactly what I'll appreciate.

grim mica
#

I would suggest waiting until the X3D variants release, slated for Q1-23 and seeing if performance is better

wraith geyser
#

got it, thanks

blazing halo
#

I'm not planning to upgrade now, so no worries. I'm currently in the red, due to the galloping inflation.

grim mica
#

I feel that, I couldn't justify the ~$1400 USD for the new mobo/cpu/mem for that miniscule performance gain

blazing halo
#

The 7900X would be an upgrade, according to benchmarks. But yeah, not just yet.

#

One point in favor (which will not change with time, thankfully) is that my current rig will need to be retired anyway (due to the memory gen change), so it'll replace the 3770 in the game server.

#

I'm quite looking forward towards losing the 32 GB constraint.

#

I can't go up, but I can go sideways.

inner onyx
#

Lol, so I created a VM on Azure... Tikrate 7 max 10...

blazing halo
#

... about in-line with what you'd expect, I suppose? Maybe a little low, actually... But good to know.

inner onyx
#

Not if I'm getting 17 tickrate on my PC right next to me running an old i5-4670K

#

Changed to a different VM family type, now getting about tickrate 12...

#

While @novel yarrow is getting 120 tr....

novel yarrow
#

....over VPN.

#

This is my daily setup, tr 120 was set for a test.

grim mica
#

What SKU on Azure?

#

if you are using a low end SKU like B-series, gonna get crap performance

#

Probably want at least a D or E v4

inner onyx
#

D4ds v4 (4vCore, 16 GiB memory) They run on a Intel Xeon Platinum 8272CL processor, which runs at a base speed of 2.5Ghz and can achieve up to 3.4Ghz all core turbo frequency

grim mica
#

Wow that is surprisingly low for that sku

#

Granted its a server proc vs desktop, so makes sense

#

There is a more compute-oriented SKU, let me find that I think its F series

novel yarrow
#

My node2 has i7-7700K CPU @ 4.20GHz (no OC).

inner onyx
#

My desktop CPU i5-4670K runs at top speed 3.76 GHz, so maybe a newer gen CPU doesn't really matter?

grim mica
#

The performance is really a combination of IPC capability and memory

#

On server hardware, you are getting into ECC stuff which will (generally) have lower clock than a desktop counterpart

#

There are high freq Xeon's though, so frequency isnt everything

inner onyx
#

Well, yeah thats why expected more as well, its running on DDR3 1333 MHz ...

grim mica
#

Thats incredibly slow in this day and age

inner onyx
#

I know, thats why i'm flabergasted at why its so slow on the Azure VM

grim mica
#

The box will also be virutalized, which is going to inhibit bandwidth between memory and CPU cache as they are going to run the machines at high workloads to maximize the hardware investment, so you are competing for resources

#

Can you try to change the sku to Dv5?

#

Standard_D4_v5 is 4 cores and 16gb mem, and more importantly is IceLake Xeon (3rd gen)

#

Thats probably the best youll get from them for a reasonable cost, even with reserved instance going to be a bit expensive per month

inner onyx
#

Requesting to increase quota for thos from 0 to 4 vCPU 😛

grim mica
#

And this is also the reason why game hosting companies exist - they use alot of desktop processors for games that are heavy on single thread

inner onyx
#

Not great experience with game server hosting services

grim mica
#

Yep, I agree - thats why I have my own server room and my own box for dedi stuff 😄

#

Also the benefit of <10ms always on LAN

inner onyx
#

D4ds v5 gives me a tr of 19

novel yarrow
#

but how large is Your save ?

inner onyx
#

8.4 mb

#

Do higher tick rates also mean less items teleportation on belts?

novel yarrow
#

Game just runs smoother, depends of view distance on a belt 👍

inner onyx
#

being right next to it i see half of pieces of belt empty, but throughput is full belt speed.

#

or is that network related?

novel yarrow
#

You mean this ?

grim mica
#

That belt thing happens at midgame and laterfor me

#

Damn D4v5 still not enough tick, can you send me your save? I want to load it up on my dedi and see what it gets

#

Its less obvious with T1 and T2, but once I get into steel and things are "movin and groovin" - it happens everywhere

novel yarrow
#

doesn't seem to happen on singleplayer ?

grim mica
#

Yeah, doesnt occur on single player

blazing halo
white cosmos
#

Hey all, is there a way to verify that I've set up the network settings correctly for dedicated server? I followed this guide: https://satisfactory.fandom.com/wiki/Multiplayer, and have set all of the configs for Engine, Game, and Scalability, then set each ini to readonly. My client then also has had these changes and altered to readonly, but I never break 64kb/s - which is surprising because this is a tier 8 factory spanning many areas, with my save time being around 62 seconds. Is this expected? Should it be surging higher?

grim mica
#

Is there a reason you expect to see more bandwidth usage?

#

Also, did you set it on both the client and server?

white cosmos
#

Just that I still get all the weird multiplayer bugs - trains rubber banding, delays in building items, random pops to other spots. This is the first time I've loaded up after a while and it got me thinking that maybe I should check everything out.

#

but if that's a normal experience, I'll accept it

grim mica
#

Yeah.. that just happens unfortunately. Welcome to Experimental Dedicated Servers 🙂

white cosmos
#

Damn, I was hoping you guys had a magic fix lol

blazing halo
#

For one, that's a tutorial for MP settings, not DS. Many of the same settings apply, but just wanted to point it out.

#

Second, the network settings were clearly done by someone who doesn't understand how that works, and only the game's logic actually prevents you from breaking your game this way. :D

#

And third - the amount of data you're seeing has much more to do with time than it does bandwidth. It doesn't matter if you have 1000 mbps if all the game needs to send is 2 bytes.

grim mica
#

And Kad is exactly right, the game will only send/recieve what it needs to, not what is necessarily "available". Bandwidth isnt the only network factor either, latency also plays a role

white cosmos
blazing halo
#

Take this for example:

[/Script/Engine.GameNetworkManager]
TotalNetBandwidth=104857600
MaxDynamicBandwidth=104857600
MinDynamicBandwidth=10485760

This might work really well... if all you have is 1 player. Otherwise, if the Max is ever reached, you'll start seeing bandwidth allocation conflicts. Someone forgot to take the number of players into account. The MaxDynamicBandwidth shouldn't match TotalNetBandwidth, it should be scaled to TotalNetBandwidth / maximum number of players.

white cosmos
blazing halo
#

Here's how the game works, basically.

The game runs on a scheduler. This scheduler takes various tasks - calculations, data sending, data receiving, data processing, update replication, stuff like that. Basically - whatever needs to happen for the game to continue running. It handles updating the production, updating belts, updating critter AI and positions, updating player positions and actions, and making sure every player is seeing the same thing at the same time.

This scheduler runs on ticks. It's ran for every tick, and things must complete before the next tick can happen.

By default, the game runs at 30 ticks per second. That means that the scheduler runs 30 times every second, and has 1/30 = 33.3 milliseconds to complete all of its assigned tasks.

grim mica
white cosmos
blazing halo
white cosmos
#

Note the pinned core

blazing halo
#

But whether it actually allows you to cause issues or not, it still creates an illusion that you shouldn't hold onto.

grim mica
#

Yeah, i'm no developer for sure - just relaying what I think the doc is stating, either way the you are correct in that what is needed is sent/recieved

#

That would be the main loop and the reason why large builds cause low framerate and in the case of a dedicated, tickrate below 30

blazing halo
blazing halo
#

Since you can consider even up to 100 milliseconds to be - for all intents and purposes - "at the same time", you can for example split your data between ticks. What does it matter if you receive some part of the data 33 ms "too late" in that context?