#dedicated-servers
1 messages Β· Page 42 of 1
that's why in lot of game actions may get ignored when done too quickly : it is easier to handle safely than to process everything at the same time
a good solution is often buffering actions
so when it happens to be launched so close to each others : one just waits for the other in a fast seamless fashion
What specifically makes it really really bad?
When we tried it... some of the hypertubes would teleport you around... train position kept rubber banding
Biggest thing is that vehicles are a coin flip if your or the server will crash.
Seems like this stuff could be fixed by allowing the server to trust the clients
Crashes vehicles falling through the world. Vehicles not where they are showing on the map. Player falling through the world, the death crate showing up on the other side of the world but it isn't there or where you died. That's just for starters.
Me and my friend are having uses running a ds, we are using linxusgsm but for some reason when we start it, it wont let us. There is no error message or log. It worked before this latest patch. So if anyone could help that would be appreciated.
Server binary Changed in Experimental and i Bet lgsm is Not updated yet
but ASK this in lgsm Discord π
you just add a line to your sfserver.cfg
add this to sfserver.cfg
executable="./UnrealServer-Linux-Shipping"
it's strange you get no error though. I got a message that said Executable does not exist
are radar towers broken right now... its not showing resource nodes on my map
it has a strange distance limit. I couldn't figure out how to extend it
there's a smaller radius around your character, but the tower knows that it's there
might be a bug, might be a feature
oooo DS exp updated to U8 π
DS has been been on U8 for a few weeks now, no?
U8 was released on 13th
Only seen the DS update today when restarted the server box
Ah gotcha, I'm 99% sure we've been on it on the current save since the U8 update that included Lumen.
My dedi warns me that the server will restart in x minutes, we only get it when an update has been pushed
did you power it ?
Yea... I think it only marks nodes you walk near.. or it just took a long time.. but eventually nodes started to show up on the map
how do you validate save files on dedicated server?
having some real problems since the last few patches; just crashes seconds after starting to play so just want to rule out my save files
There's a validate parameter. If you use the suggestions from the wiki they're already in there. I have it in my update script, so whenever I run it and there's no update, it validates.
(I assume it validates when updating as well, but the console output isn't entirely clear so I tend to just run it once in a while to make sure)
Oh, I didn't actually ask if you use steamcmd or not. But then I guess if you use the steam client then there's a validate in the gui there like for regular games.
dont think that would validate the save files though.
You may want to try and load the save in singleplayer to potentially rule out dedi server fault i'd say
My bad, I totally overlooked the "save files" part of the question.
Anyone with an auto-restart .bat file upon a definite server-crash? π
Hey is dedicated servers working in update 8?
I tried with some friends but ther server is offline for everyone except the host, and he can play.
The port is well forwarded
working decently well over here
There's three different ports that need to be forwarded
Uhh could anyone else confirm that
FG.AutoSaveInterval
Is not working anymore?
The command is broken but you can still configure an autosave interval in the ini files
yep! Was just a bit baffled that the console command wouldn't work! π
#patch-notes
β’ Temporary fix for audio log spam on Dedicated Servers when using vehicles which would lead into clients being kicked out of the Server
yay
hello can anyone tell me how to connnect to my epic gmaes servre?
Fixed a crash on startup for Dedicated Server when the server query port was set to a value that exceeded the maximum value of an int16
there's the issue I was having, surprised it's a bug though, figured it was some new limit
I dont get it though unsigned int16 is 65536 which is maximum port possible
unless they mean it was signed int16 in their code instead of unsigned
and that starting at 32768 it would fail ?
I really dont understand how people can build huge megafactories with highways and stuff when the belt system is barely functional
That's what I'm assuming happened
What's wrong with the belt system?
i wouldnt mind if it was just graphically but its not. like for example when making a manifold of like 8 or so smelters, the belts either wont fill the machines or wont empty them, sometimes both
did you check the belt maximum throughput ?
did you get how every machine have to fill for manifold to feed the next machines ?
belts sometimes don't connect properly when the tick rate is really low, i.e. when the server is performing a save. outside of belts placed during saves I haven't seen that happen myself
for instance lets say you have 5 machines, it will take 250 items at the very least to feed the 6th machine, and that's only if every machines are downclocked to 0 as they will eat the items that is fed into them at the same time
it often happens belts are not really connect too when you place them with splitter they sometimes dont get items from the splitters
you also have to be carefull about belt directions and splitters directions
but that's mostly part of the gameplay
the only part that is not from gameplay is when belt fake being connected to splitters
and that can be anoying but it's often quick easy to just reconnect it
Its sometimes the first machine in the system that claims it doesnt have input or sometimes output when it clearly does. Yes I find myself having to reconnect belts multiple times to get it to work, and even then it'll work for a short while and then break again
Also sometimes the belt will be connected between an output of a machine and a splitter the correct way and the belt will be running backwards
if it work when you load the same and dont touch it again, it is very unlikely to break after that
that is only graphical though
but yea it is annoying
Hi, im not sure if this is the right thread to ask but im looking for someone to try and connect to my server to see if it works and whether the port forwarding is working.
Im not looking for a group so I dont think that thread is correct. Thanks
it's probably the good channel/thread for that
as it is a kind of troubleshouting
you really have no other person/friend to test it though ?
yeah i usually do, i have a mate whom i played with but he alr went to bed
Can you help me out? I would just dm you my ip and try and connect?
@deep turret agreed, happens all the time.
Anyone has any issues with dedicated servers on Experimental the game type keeps chaning back to Private from Friends only? I have saved the game on my computer as Friends only and uploaded to the dedicated server and it's went to Private.
The dedicated server isn't connected to steam/epic so the concept of friends only doesn't exist. either people join with ip and a password or you don't set a password and anyone can join
Oh, dedicated got a little love in this patch π
ok so we did a test with @tulip bronze about timeouts (connecting through ipv4) :
- no ipv6 AND no special arguments : works
- ipv6 AND no special arguments : doesnt work at all
- no ipv6 AND multihome=0.0.0.0 : works only locally
- no ipv6 AND multihome=localip : works only locally
- no ipv6 AND -DisablePacketRouting : works only locally
- ipv6 AND multihome=0.0.0.0 : works only locally
- ipv6 AND multihome=localip : works only locally
- ipv6 AND -DisablePacketRouting : works only locally
I let you correct what I forgot
no ipv6 and multihome=0.0.0.0 works only locally
so basically whenever multihome/DisablePacketRouting is used, it would connect but only locally (using public ip would timed out)
if multihome/DisablePacketRouting is not used AND IPv6 is enabled, noone can connect (timed out)
only if ipv6 is disabled AND no multihome/disablepacketrouting arg used, then everyone can connect
just have to fix that yeah
this
ok so now it's ok ?
whenever multihome or disablepacketrouting is used, it would work locally no matter if ipv6 is enabled or disabled
yep
corrected full table
is that with a local ipv6 or with full ipv6 connectivity? in case of the latter, did you configure the ipv6 firewall in your router for the right ports?
as stated it is with ipv4 connection
if you have ipv6 enabled and no -multihome you have ipv6 connection bound on the server as well which it will advertise
I wonder if my connection would work from public network though, but I didnt have ability to test recently yet
but its not supposed to advertise link local addresses, and/or catch all binds, and the client is not supposed to try it when the connection is started from another ip
the connection must be established with the currently used ip that hello the server
this would confirm the client is not correctly handling multiple ip testing, it must test multiple ips ONLY when trying to first connect/find the server FROM DNS records
as if you stated a fixed ip in your servermanager it should use that
and at the very moment the connection is starting to get established the ip should be kept the same for all the session, and all the ports of the session
and that's where it looks like it fail
also the server is not correctly handling multihome nor DisablePacketRouting in its way to wait for session establishment and advertising its ips
Hello, is there a way to properly shutdown a SteamCMD server from the command line?
yes
are you on linux or windows though, I assume you are on linux ?
No im on windows, have a .bat file that starts the server in a dos box
you can confirm it is closed in the taskmanager
ok, thats what I've been doing, but it felt wrong...always feared it might corrupt a save
thanks π
ok apparently you must do ctrl+c
not closing the windows
but it suprise me the server cant listen gracefully to windows close event when the windows is closed
noted thanks π
apparently things running inside the windows have 10second to close but I dont know if the server is listenning to CTRL_CLOSE_EVENT
ctrl+c is CTRL_C_EVENT
no worries, done all the steamcmd bit - seems to a new patch out this afternoon so we will apply that and see how she blows
yeah just ran the update and got a version mismatch after restarting, ran update again and after that it was ok
yeah just updating my end - done the server and i'll how we get on or not! if not i'll validate the save file locally
maybe more RAM will make it better π went from 16GB to 32GB and it's been a lot more stable now the factory is stupid size
need to finish my plutonimum build π
what do you have running outside of satisfactory dedicated server ? because 16GB used to be largely enough, and u8 decreased base RAM requirement
nothing just running a light version of ubuntu with a i3 10th gen and a GTX1050 I
I run my dedicated server on Win11 on a Small form factor Lenovo pc with an i5-6500T & 16Gb, its runs noticably better with U8. I had areas where my frames dropped into the single digits, and now its double digits everywhere. π
I'm finally going to test the Dunes
as a benchmark
(one of the heaviest saves outthere from one of people going by this server)
@wicked geyser
I used a .bat file to update mine;
cd c:\Steamcmd
start steamcmd.exe +login anonymous +app_update 1690800 -beta experimental validate +quit
pause
the update run successfully, but it is not starting
welp - the temporary fix for tractors...
made it worse and better at the same time.
Game disconnects me, I can reconnect and it no longer kills me and places the tractor at 0,0 like it did to me last night...
but now the server kicks me a lot more readily π
it didnt start after the first try for me either, I closed the window and restarted it, then it started but gave a version error ingame, ran update again, after that all was ok..
Scratch that... I now get immediately booted when I join ;^;
Are invisible objects (mostly noticable on traintracks & pipes) a known issue in U8? If so, any way to avoid it besides selecting them with the remove tool? (makes them visible, but they keep going invisible all over the place)
I'm going to hell guys π already 18GB RAM used at server launch
now going to connect to the game and start it
hello I downloaded the "additional content dedicated server for experimental" but I am having trouble to setting it up, does anyone have like a nice tutoriol or just advice ? Thank you !
What means trouble π ?
I can send u the logs if it helps
ty gonna take a look
@clear lagoon after turning off the pausing for when no one is present, I have not had another error about timing out
huh interesting. I can imagine it causing a processing spike when unpausing π€
I never noticed because I have pausing disabled
I remember reading somewhere that hyperloops were awfully buggy on dedicated servers - is that still the case?
hyper_loops_?
Hyptertubes*
if you mean cyclotron hypertube cannons, they need to be altered slightly because of the new phy-
oh
Sorry, for some reason I was thinking it was named differently
if hypertubes send you backwards you need to rebuild the first tube segment by starting from the entrance, direction matters.
long hypertubes have a tendency of desyncing your movement which may cause disconnects
ymmv
Between yesterday and today my steamcmd stopped allowing me to login, and I cannot download the latest update 8 patch as a result. Nothing was changed on the host system (linux 64bit) to my knowledge. Satisfactory is my first time using steamcmd, anyone have any debugging tips?
Redirecting stderr to './Steam/logs/stderr.txt'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1686881296
-- type 'quit' to exit --
Loading Steam API...dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
dlmopen libSDL3.so.0 failed: libSDL3.so.0: cannot open shared object file: No such file or directory
OK
Steam>force_install_dir /speed/steam/satisfactory_server
Steam>login anonymous
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...FAILED (Timed out)
OK
Steam>app_update 1690800 -beta experimental validate
ERROR! Failed to install app '1690800' (Missing file permissions)```
@deep turret I decided to redownload the server in a debian lxc container and multihome/disablepacketrouting now works for the public ip
Alador: the user you're running steamcmd with does not have write permission in /speed/steam/satisfactory_server
so ig its an issue with the ubuntu container itself or maybe some existing settings that somehow interfere?
I'm using Apex hosting for our groups dedicated server since update 8 hit and we've been having consistent timeout/failed to connect and laggy sessions. Its a new save and we're barely using 5MB of ram so far. I've tested my connection to the server for packet loss with no problems. Anyone else having issues like these? Is this update 8 until things get ironed out or should I be looking for other hosting? I've already migrated our server once with apex.
Are you seeing these connection issues when you're not using vehicles or hypertubes? Any chance you're timing out during the auto-save? How large is your save?
For failed connections I always suggest as a first step to launch the game server with the parameter -multihome IPADDRESS added before -log -unattended, if you have the possibility to change launch parameters
interesting to know, thank you, so reinstalling everything may make it work as intedended as u7 ?
it's permission access issues as Lena said
you mean your save file is 5MB ?
Yes even when not using vehicles, its a new save we are in phase 3. I will say that none of us can go anywhere near northern forest. It seems to cause serious lag for everyone if someone goes there.
I mean our dedicated server is only using about 5mb ram with us all on
its not using 5mb ram
that makes much more sense
I had a tech check on the multihome param but they said the server is running IPv4 so shouldnt be needed
that makes no fucking sense, you especially want this setting if the server is intended to run on ipv4 only
it set how the server is listenning to network
I'm just a guy that wants to play satisfactory with my friends
multihome is just to configure which address to bind to, instead of all available network interfaces. chances are the server provided by a game hosting co. only has a single public ipv4 nic
my man
If you're having issues but don't have direct access to the machine running your server, I suggest you contact support for the company providing your service
its how the server bind to network i.e internal network of the hosting container, not how it can talk to outside world, so unless they specifically disabled any ipv6 networking inside the dedicated environment, you want this setting
we've had a server before and gotten to late game with none of these issues. So really im just trying to determine if i need to switch hosts or if things will improve as patches come out.
all we can do is guess at the architecture at the hosting co.'s end, either of us could be right but it's not really meaningful to discuss this further π
anyway dont worry about what I'm talking about, because that are specifics you probably dont have access to
so you are not responsible for these anyway, all you are legitimate to ask is a working server
you can have working networking on the current dedicated server patch for U8. if your hosting provider can't provide the necessary support, you can draw your own conclusions I believe
btw, do someone know the .ini for setting the autosave interval ?
Gotch, thanks for your help ya'll! Sorry for being a pleb π
No worries at all π you're paying for a managed service so you don't really have the necessary access to manage or break things. your provider is entirely responsible and it's what they're being paid for too, imho.
you dont have to be sorry, it's just lot of us are selfhosting, so we usually have all power on dedicated server settings, and as we are experimenting, we usually are full of specific questions
@clear lagoon @deep turret I believe the "file" it is talking about is in relation to not being able to access the dedicated server app from Steam due to the login failure. I just ran chmod o+rw /speed/steam/satisfactory_server and still get the same result.
shoot I forgot -R
one sec lol
make sure your current user is the owner of the /speed/steam/satisfactory_server too
it is, I checked with stat
otherwise o+rw have no effect (obviously)
ok nice
wait I'm stupid
did I confused o and u
let me check I'm stating the obvious of how I'm wrong
can you post the output of whoami and ls -lhd /speed/steam/satisfactory_server ?
wait shoot now I don't remember either
o = others, u = user, g = group
dangit
I'm stupid
at least I reacted instantly on my mistake but still I'm letting this message live for documentation purpose
pleb@pleb7573 /s/s/satisfactory_server> whoami
pleb
pleb@pleb7573 /s/s/satisfactory_server> ls -lhd /speed/steam/satisfactory_server
drwxr-x--x 6 pleb pleb 4.0K Jun 19 20:10 /speed/steam/satisfactory_server/
pleb@pleb7573 /s/s/satisfactory_server>```
so you done -R now ?
Yes
Is this part relevant in any way?
Waiting for user info...FAILED (Timed out)
^ if someone know, let me know
1 sec, I posted it earlier
Oh it's on the wiki somewhere
SharklienX: #dedicated-servers message
β’ Made the Experimental Label bit more transparent and less bright red to help prevent OLED Burn-in
tbh having an option to remove the label or change it to something other than red would be better, red is still bad for OLED displays overall.
haven't seen that before. 1 sec
it's not unfortunately, at least not in dedicated server, nor dedicated server config files
That is in Engine.ini
[/Script/FactoryGame.FGSaveSession]
mNumRotatingAutosaves
and in GameUserSettings.ini
[/Script/FactoryGame.FGGameUserSettings]
mFloatValues=(("FG.AutosaveInterval", 120.000000))
if you have existing mFloatValues, you separate as follows:
mFloatValues=(("some other setting", 123.450000), ("FG.AutosaveInterval", 120.000000))
I found a console command, nothing about the ini file though https://satisfactory.wiki.gg/wiki/Dedicated_servers#Console_commands
oh but looks like Lena's got you covered
just copy pasted my previous post XD
@warped coral can you run ls -lhd $HOME/.steam and ls -lhd $HOME/.steam/steamcmd for me?
@clear lagoon you're my only hope, can I also get some assitance?
pleb@pleb7573 ~/satisfactory_server> ls -lhd $HOME/.steam
drwxr-xr-x 7 pleb pleb 4.0K Jun 21 19:55 /speed/steam/.steam/
pleb@pleb7573 ~/satisfactory_server>
pleb@pleb7573 ~/satisfactory_server> ls -lhd $HOME/.steam/steamcmd
drwxr-xr-x 9 pleb pleb 4.0K Jun 21 20:50 /speed/steam/.steam/steamcmd/
pleb@pleb7573 ~/satisfactory_server>```
can anyone explain to me why is my train station getting placed to 0,0,0 coordinates?
you can see me on the map there, my train is in the station as well
it's just a bug with the map right now
is the map icon there or is the station effectively being moved?
yep that's it, I'm searching .ini setting and it's not in wiki π
train station is not there, but also cannot enable autodrive
cause it tells me train station unreachable
like wtf
Ooh so "mFloatValues" is for console start command kinf of
I wouldn't know tbh. you can change the auto-save interval in the game client, so I did and diffed the ini files. that was the only difference, tried it on the dedicated server and it worked π€·ββοΈ
I searched but did not find it, you did find it, thank you
so I had it already set
I can check now
I was sure the server would save it somewhere but did find it
I wanted to check if it changed from u7 to u8
I will reinstall my server that's why
just to make sure, you're not trying to place the train station outside of the map bounds? i.e. very far in the sky or under the map?
let me show what I am trying to do
i have three stations, my home => oil factory => bauxite mine
I had ```[/Script/FactoryGame.FGGameUserSettings]
mIntValues=(("FG.NetworkQuality", 3))
mFloatValues=(("FG.AutosaveInterval", 900.000000))
any chance you accidentally ran steamcmd with sudo/doas at some point? you can try deleting the $HOME/.steam directory
i have a bi-directional train that so far went from A to B and back to A
I expanded that line now to go A to B to C
and back to A
but it goes A to B and says C is unreachable
it's not in the sky by any means, i placed it literally on the ground on a 4m platform
it goes "high" like it has to go up for the bauxite
can you try dismantling and rebuilding the train station?
I actually already did try deleting that directory. I don't think I've ever ran steamcmd as root, let me search through my command history
if that doesn't work, try loading the save in single player and doing it there
short of that I don't really have any ideas
A to C works
wtf
but if I do A to B to C
it dies
ayo what
i made sure my stations were facing correctly
I haven't played around with trains yet myself so I'll have to defer to the others here
oh okay
do you have any dns-based network blocking going on or dns issues on that box? can you ping steampowered.com on there?
Ok well I found my issue -ish
I had a fish script /speed/steam/steamcmd.fish that changed my home directory to /speed/steam (because that's the SSD)
#!/usr/bin/fish
set -x HOME (dirname (status filename))
echo $HOME
exec steamcmd $argv```
Evidently something about my stupidly simple script is wrong, because if I set my home manually in a live fish shell and then launch steamcmd directly it all works.
anger π’
oh, $HOME was getting set to . for some reason.
guess I'll just hardcode the path in π’
ok I got the train working, sorry for the false alarm. i have 0 idea what I did to make it start, but hey, it works
keep in mind that's kinda hacky because you're also not updating your XDG environment. but it might work for steamcmd
shoot, I always forget about XDG variables. I'll keep that in mind π
you know you could just create a new user that has its actual home on the SSD π
dang, never thought of that
obligatory clicked it β€οΈ
full reinstall of the server, editing the .ini files back, and restarting the server : done
my dedicated server have its own user if that is inspiring to you
its home is in /srv/Satisfactory/
hopefully running it in systemd or other service manager specifically as that user as well and not as root? :3
yep
with filters on
ok you're doing better than me at that point then XD
#dedicated-servers message @clear lagoon
don't you risk updating the running dir with additional instances if an update is released between spinning them up?
I went through the trouble of adding a socket for stdin before realising that the server console appears to be noninteractive XD
yep
useradd -M -d /srv/Satisfactory -s /usr/bin/nologin satisfactory
So no interactive shell possible
I will work on a check now, and will update it
Does the server need to restart in order for newly downloaded blueprints to appear?
I haven't tested it myself, but it sounds trivial to find out
I guess it would only need the game to be relaunched
I'm thinking of implementing it with a dependent update service
so pretty much every time I connect to the server - play for 10-20 seconds it kicks me off with an unreal error
have validated all the files - done some verifying of the games , any more ideas before I return to 7?
do you have enough ram ? apparently it can take more ram on huge saves
32GB RAM
32GB free ram ? for the server to use ?
That's a fair whack of RAM compared to what mine is at currently...
Only using about 3 of the 16GB i have allocated to my LXC
That said it's only tier 4 and we've only just started mining the Northern side of the map
We are using a dynamic DNS on it so i'm going to take that out and just use the IP and see if that makes any difference
Tier 8, end of game here with way too much stuff and a complex train network π I think maybe we broek it
Haha that would explain the RAM usage
But uh yea... doubt it's your DynDNS or mine would also go screwy
having a unit stop only when a bunch of other units are all down is a headache
maybe just don't have systemd try to do automated package management for you XD
if you're running a multi-instance server, manually bringing it down and updating isn't that painful
if you see the UE crash reporter, can you share the stacktrace?
but I should at the very least make a update service that have conflict with server running
I may hack the way systemd handle putting down services and putting up services
@deep turret one of these?
you didnt ping the right person @clear lagoon ^
and do both conflict and and requires statemetns
sorry, half asleep π
I wonder how systemd look at me if I put in the same file :
Requires=satisfactory-update.service```
pretty sure the stack will also be in the crashcontext runtime xml
oh yeah I can see lots of stack stuff in there; want me to share in here @clear lagoon
yes please
you crashed during memory allocation. how much RAM do you have? could you run memtest86 to validate your RAM?
whichever one generated that crash report π
that was my PC
you have plenty of RAM in your pc but it appears to be running an unstable overclock, might not be seated properly, or might otherwise be faulty
run a full memtest86
<CallStack>FactoryGame_Core_Win64_Shipping!FMallocBinned2::ReallocExternal() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\HAL\MallocBinned2.cpp:996]
FactoryGame_Core_Win64_Shipping!FMallocBinned2::Realloc() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\HAL\MallocBinned2.h:607]
FactoryGame_FactoryGame_Win64_Shipping!TArray<FReplicationDetailData *,TSizedDefaultAllocator<32> >::ResizeGrow() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\Containers\Array.h:3024]
FactoryGame_FactoryGame_Win64_Shipping!`AFGConveyorItemSubsystem::GatherTransformData_ISPC'::`10'::<lambda_3>::operator()() [C:\BuildAgent\work\78a794e88763017d\UE4\FactoryGame\Source\FactoryGame\Private\FGConveyorItemSubSystem.cpp:766]
FactoryGame_FactoryGame_Win64_Shipping!`ParallelForImpl::ParallelForInternal<TFunctionRef<void __cdecl(int)>,`ParallelFor'::`2'::<lambda_1>,std::nullptr_t>'::`2'::FParallelExecutor::operator()() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\Async\ParallelFor.h:116]
FactoryGame_FactoryGame_Win64_Shipping!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`ParallelForImpl::ParallelForInternal<TFunctionRef<void __cdecl(int)>,`ParallelFor'::`2'::<lambda_1>,s() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
FactoryGame_Core_Win64_Shipping!LowLevelTasks::FTask::ExecuteTask() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:656]
FactoryGame_Core_Win64_Shipping!LowLevelTasks::FScheduler::TryExecuteTaskFrom<&LowLevelTasks::TLocalQueueRegistry<1024>::TLocalQueue::DequeueGlobal,0>() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:360]
FactoryGame_Core_Win64_Shipping!LowLevelTasks::FScheduler::WorkerMain() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:402]
FactoryGame_Core_Win64_Shipping!UE::Core::Private::Function::TFunctionRefCaller<<lambda_2d21a7280907265e6aab37ddf50d42b1>,void __cdecl(void)>::Call() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\Templates\Function.h:475]
FactoryGame_Core_Win64_Shipping!FThreadImpl::Run() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:70]
FactoryGame_Core_Win64_Shipping!FRunnableThreadWin::Run() [C:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]</CallStack>
crash during malloc
memory allocation
i'll give it a test and see what it comes up with; I was starting to think it was my PC
if you fail memtest86, try reseating your RAM. if you have EXPO/XMP enabled you can try disabling it and seeing if it then passes memtest86. if it does, you can try running with XMP/EXPO enabled with only a single RAM stick slotted in. try both. if one of them fails you know it's probably defective
just giving you the whole rundown since I'll be asleep soon π
Thanks; yeah me too ill take a look on the morning π
can someone help me turn on the settings where you keep items on death on my dedicated server? do i have to edit a config file?
I will try :
After=satisfactory-update.service
Wants=satisfactory-update.service```
it's a bit hacky but may work
it's part of AGS
turn on advanced game settings on the save
if you're on U8 that is
this is the moment for testing π£
deep breath
i see ty
ok, it correctly shutdown satisfactory server before updating, but it refuses starting update before starting server
I may try to use an intermediate satisfactory-update.target and see how it works
I kinda feel responsible for having sent you on this tangent xD
this is hell, if I do like I wanted to do, starting any instance would lead to stopping other instance for start update
this is a headache
I would need a Requires=satisfactory-update.service OR satisfactory-update.instance
or alike
I think I'll go to non automatic update
as automatic update dont make much sense for multiple instances
but it's important it doesnt try to update while instances are running, you were completly right
ok I'll update like that, systemd is not flexible enough to implement this cleanly, manual updates will be needed
if you really wanted to you could see if you can have steamcmd run an update check without actually updating on a timer maybe. if there's an update you can have it interact with systemctl to bring down all instances, run the update and spin them back up after. but that's just an idea xD
systemd doesnt have any kind of 1:m relationship
it only have #x 1:1
so I cant ever make systemd aware of instances as a group
and it sucks
so I'll do manual update
Β―_(γ)_/Β―
systemd satisfactoryd-update.service file :
Description=Satisfactory Dedicated Server Update
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target
[Service]
Type=oneshot
User=satisfactory
Group=satisfactory
StandardOutput=journal
Restart=on-failure
Environment="LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH"
ExecCondition=/usr/bin/bash -c '! compgen -G "/srv/Satisfactory/instance-*.active" > /dev/null'
ExecStart=/usr/bin/steamcmd +force_install_dir /srv/Satisfactory +login anonymous +app_update 1690800 +quit
WorkingDirectory=/srv/Satisfactory
NoNewPrivileges=true
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
LockPersonality=true
MemoryDenyWriteExecute=false
RestrictRealtime=true
RestrictSUIDSGID=true
RemoveIPC=true
SystemCallFilter=@system-service
SystemCallArchitectures=native x86
[Install]
WantedBy=multi-user.target```
systemd satisfactoryd.service file :
Description=Satisfactory Dedicated Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target
After=satisfactoryd-update.service
Wants=satisfactoryd-update.service
[Service]
Type=simple
User=satisfactory
Group=satisfactory
StandardOutput=journal
Restart=on-failure
Environment="LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH"
EnvironmentFile=/srv/Satisfactory/server-Default.conf
ExecStartPre=/usr/bin/touch /srv/Satisfactory/instance-Default.active
ExecStopPost=/usr/bin/rm /srv/Satisfactory/instance-Default.active
ExecStartPre=/usr/bin/bash -c '! /usr/bin/systemctl is-active --quiet satisfactoryd-update.service'
ExecStart=/srv/Satisfactory/FactoryServer.sh ${OTHERSETTINGS} -ServerQueryPort=${QUERYPORT} -BeaconPort=${BEACONPORT} -Port=${PORT}
WorkingDirectory=/srv/Satisfactory
KillSignal=SIGTERM
NoNewPrivileges=true
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
LockPersonality=true
MemoryDenyWriteExecute=false
RestrictRealtime=true
RestrictSUIDSGID=true
RemoveIPC=true
SystemCallFilter=@system-service
SystemCallArchitectures=native
[Install]
WantedBy=multi-user.target```
systemd satisfactoryd@.service file :
Description=Satisfactory %i Dedicated Server
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target
After=satisfactoryd-update.service
Wants=satisfactoryd-update.service
[Service]
Type=simple
User=satisfactory
Group=satisfactory
StandardOutput=journal
Restart=on-failure
Environment="LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH"
EnvironmentFile=/srv/Satisfactory/server-%i.conf
ExecStartPre=/usr/bin/touch /srv/Satisfactory/instance-%i.active
ExecStopPost=/usr/bin/rm /srv/Satisfactory/instance-%i.active
ExecStartPre=/usr/bin/bash -c '! /usr/bin/systemctl is-active --quiet satisfactoryd-update.service'
ExecStart=/srv/Satisfactory/FactoryServer.sh ${OTHERSETTINGS} -ServerQueryPort=${QUERYPORT} -BeaconPort=${BEACONPORT} -Port=${PORT}
WorkingDirectory=/srv/Satisfactory
KillSignal=SIGTERM
NoNewPrivileges=true
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
LockPersonality=true
MemoryDenyWriteExecute=false
RestrictRealtime=true
RestrictSUIDSGID=true
RemoveIPC=true
SystemCallFilter=@system-service
SystemCallArchitectures=native
[Install]
WantedBy=multi-user.target```
and voila
when update is started every instances are putted down
at least its clean
maybe I should do it as oneshot
f
I must add a check for instances to not kill this service
so I must bypass systemd anyway
I will go by my first mechanism idea then
touch files
use PID files?
I will use a more secure way, I dont want to update if instances somehow crashs
or orther things
ExecStopPost=/usr/bin/rm /srv/Satisfactory/instance-%i.active
ExecStartPre=/usr/bin/bash -c '! /usr/bin/systemctl is-active --quiet satisfactory-update.service'```
now I'm considering this
man that rabbit hole is deep
it's only as deep as you want to make it xD
wonder if check is needed on instances if After is put in them on a oneshot type of update.service and without conlficting enabled
I will test that
I want them to automatically wait for update to finish successfully
would be the cleanest way possible and I would be able to make it automatic at any first instance started again
current satisfactory-update.service condition :
ExecStartPre=/usr/bin/bash -c '! compgen -G "/srv/Satisfactory/instance-*.active" > /dev/null'
return false if any instance active file is found
and no instance can be running without one being there
next step will be a update service that cancel and restart instances if launched manually
but maybe tomorrow 
@clear lagoon IT WORKS !!!!!!!!!!!!!!!
π
the 3 files
- when any instance started : update.service will simply fail
- when update.service is running, instance will wait for it to finish before starting
- when instance start and no other instance is started : it start update.service and wait for it
- when instance start and other instance are started : it simply start directly and no update is performed
update.service can be standalone launched when no instance is running, and without launching any instance
if instance is running as stated : it simply successfully fails
π
now I could try to make the things a bit more clean and not polute systemd state with degraded server-update.service
but at least it works
@neon rapids improved multi-instance / standalone update | still automatic at single instance start -handling ^
- making clean degradation of autocanceled update.service
maybe satisfactoryd-force-update.service
and rename satisfactory-update.service to satisfactoryd-update.service
to not conflict with the game, on linux gamers' pc
Note: these update services do not select experimental/public branches
these are completly branch agnostic
Hmm, it's there a TLDR? Not really sure I'm tracking what y'all are talking about, sorry.
the 3 files @neon rapids I'm talking about, you can skip the conv
the result behavior ^
Ah, seems cool but not sure it applies to how I have it set up.
I just have the one instance and we shut it down a lot to save on cloud costs.
Already updates automatically on boot.
it's for multiple instance support
with these files you can launch any instance it will not update while other instances are running
yet it will update if it's the first starting instance
It's pretty cool though
and you can update standalone
How does the game perform running multiple instances on one server?
I would say it completly depends on the server
technically they dont interact with each others
I have the highest single-core performance server that Google Cloud offers and it's still maxed out at 100% all the time.
Just one instance too
I think satisfactory mainloop always aim for 100% anyway
or you mean your whole cpu package ?
for 2 intances I would recommend starting at 6 threads at least Idk
Ah, interesting. I get glitches too though, or at least I did for U7. I get bad rubber-banding in U8 instead.
It doesn't utilize all the threads well, so just the one is constant 100%
so they would share cpu time pretty well
I actually haven't played as much U8 because of the rubber-banding.
it's on the RAM that it's a bit more expensive I think
16GB server
That's not maxed either, I was at about 12GB last I looked
anyway my units templates are ready for reliable multiple instances operations
with still the automatic update at startup on (which simply fallback if other instances are running)
I'm proud ngl
made my own qol feature
Very well done.
fixed degraded state, now the fallback doesnt show up as failed
note it supposed to trigger update even if all the instances are scheduled for automatic start, launching at the same time, with the server machine for instance, as they are all After=satisfactoryd-update.service
so it still do automatic update at the machine startup even when multiple instances automatically starts as well
(satisfactoryd.service not template is still set up as an instance, so everything applies to it as well)
it's exactly the same as satisfactoryd@Default.service
I am sure this has been asked multiple times, how can I get the version of my dedicated server up to the Experimental Version, I have a version missmatch,
Game Ver: 239901
Server Ver: 211839
depends if you are installing it from epic or steam (or steamcmd)
steamcmd
in your installation/update commandline, put -beta experimental instead of -beta public
so: steamcmd +login anonymous +app_update 1690800 -beta experimental +quit
wit the +force_install_dir if you want it but yes
just checked before telling you it's ok, sorry for delay
sweet...thanks, I set the install dir already
another question any recomendations for specs, I have a virtual machine running the game and allocated 2 x 2.2GHz processors to the server with 16GB ram...do you suggest more cores? I usually only have 1 or 2 people on with me?
satisfactory dedicated server is not very sensitive to raw power over multiple cores
tldr : more core doenst improve a lot
Yea that was my understanding
4 is good, up to 8 may help at very end game
but what matters is really single core performance
as long as you at least have 2 free one
ok I think I will bump it to 8 then, do you suggest more then 16GB ram?
so you better find the 2 best core you can have, even if you only have 4 total, because it is going to be way better for your game
16GB should be fine as long as you are not on enormous saves
for instance I'm testing someonelese save as a benchmark on my server :
it's a 2400hours save, it takes 25GB to run on u8 dedicated server
29MB save file
I would bet it's one of if not the biggest save out there
nice, we are not that crazy, just me and my step son and little son
the save takes so long to load it's scary
we like starting fresh each big update
cool...I bumped the processor count to 4 with 2 threads each
Couldn't imageine a 29MB save file
that would be insane
it's a save with a power storage of literally 72000 electric towers
what specs are the server?
sorry what are the specs of your server?
I dont remember but it was insane amount
I didnt run the 29MB save on it yet, but it's a beaffy one :
selfhosted very lite vm with 4 threads, on a Ryzen 5900X host system
I recently increased the vm ram from 16GB to 32GB just to be able to run this save file
the game isnt even started, it's scary
mine is very just 5-7GB
take the fastest single core cpu you can afford even at low thread count
dang
dont need to go up 5900X though, even if .. yes you would notice the difference probably
I just so happen to have a big machine for my works
the game is 3600x recommended if I remember right
it likes fast cpus that's all you need
I got an old Dell poweredge R730, 2xXeon E5-2630 v4 (20cpus), 64GB ram as the base unit. I have VMware runing on it with a virtual windows 10 box with 4 CPU's 2 threads each 16GB ram.
I have a couple other VM's on there one for Minecraft server and the other a DC.
it's not a 5900x speeds but my good machine is what I use to play on...haha
I think mine would die on your file
it's half the speed of my cpu for that kind of workflow, so I dont know what to tell you, if you used to run the game on it, you will probaly notice better performance in u8 (experimental) dedicated server
but if you are new on it, don't expect very smooth experience
Why do you guys run it on vm instead of using something like docker⦠in vm you get performance hit.. I guess the main reason is just to run windows.. I mean there is other uses for vm but if you want all the performance is not really a good solution for game server hosting imo
just know that it will not make a difference to put more core on it
it can even decrease performance in vm
Yea...I run in a ESXi host not just a basic VM
if you are comfortable enough running linux, I highly recommend running the dedicated server on linux
I am TERRIBLE with linux
takes me like 3 hours to get my Minecraft server updated...haha
also as you could see above in this channel, dedicated server on linux with steamcmd is very tested
Personally, and I know this is going to generate alot of hate but I don't like Linux...it's just not for me.
it's because mainly : linux runs way more efficiently than windows in a virtual machine
windows like to run multiple things around, and that hits single thread performance in a vm
linux just dont run anything else until needed
Yea I know the benifits of Linux and such
just wondering... as with docker you can do the same thing as a VM without the performace hit.. you can limit core/thread/cpu usage, ram, space, etc.. the only thing is you just can run windows... but if you like running windows then why not just install windows server or something like that to no get a performace hit by running linux then a vm to just run windos....
but for me just takes me so much to do 1 thing
if they want vms anyway, linux host may be a bit thinner than windows host
so on par for windows guests
Mostly the performance hit you get with ESXi is negligible. Windows VM server sucks resources unless your good in no gui version, which I am not.
i run mine on 3950X and 64Gb of 3466mhz ram kit no performace issues.. using docker to limit the thread and ram usage for the server...
it was just a simple question why people like running VM
out of curiosity
I think you can use docker on windows too ?
Honest answer, I have never heard of Docker number 1, number 2 I am comfortable in ESXi
wasnt there a thing about docker on windwos
yup you can use it on windows
just like I am not comfortable in linux
also I run Multiple VM's on the server including 1 DC.
if you are not comfortable and dont want to use something, it will not be more efficient for you for sure
it can take lot of time getting linux things a baseline for you, it really depends your needs
well efficient is directly related to understanding/comfortability, the more uncomfortable I am with it the less efficient it is to get it setup imo
yeah same thing you can run lots of dokcer in one system but no performance hit... but yeah use what you want i dont judge lol
all good
always great conversations
good to know what is out there
I will look into docker though.
I dont run docker because I have to setup vm for my games anyway, and it's a lite one, also I can freely setup things as I want
like all these things I wrote for linux multiple instance support 2h ago
To be honest I wish I had the time to learn linux better, but I find it just very not user friendly...once it is setup it just works I know that.
It is not a resource hog
and is very secure
it has come a LONG way though
it is not intermediate user friendly
but it is admin friendly
and end user friendly when the admin is
nope is VERY light weight... i used to use windows for hosting but i ended up learning linux this year actually and once you get the hang of it is pretty easy.. the main reason for me to move to linux was getting more UPS in factorio compare to windows 20 percent more just by OS change lol
you can't really half know things to do complex things on linux, or you always run into weird complicated problems
Yea and power to you for learning Ace. I agree SharklienX, and to me something simple is so time consuming
also like I said, if I take the time to figure out how to get it running for something like my minecraft server, then I don't touch it for months, then when it needs an update...Oh crap I have to relearn what I did.
if I had to use Linux more in my job then I probably would learn it faster.
daily use is a big thing with that.
and you have to start very small, like just learning doing that systemctl start satisfactoryd-update with my setup I posted above, periodically
in a ssh
it's so many things to learn just to do a single thing
but it's all modular
once you got it, it's freedom
and it's always the same pattern or almost same
you can always fall into holes though because no one is god and there are lot of things
but that applies even more to windows
and at least on linux it's somewhat logical and not scam driven
I just checked and my company has a plan with Udemy, maybe I will take the Linux for Beginners course.
I think the other thing is : on linux you can actually try to learn it all, when on windows it is layered behind closed things, pro version things, special books things
so if you dont know how to limit what you want to learn NOW, you can get lost in a loop of learning other things but still being lost
and too many docs are for experienced users
so to get experienced first .. it can be a nightmare
Yea I agree
"if you get error with systemctl in your ssh, then just checks the respecting logs"
- BUT WHAT / WHERE ARE THESE F* LOGS ?????
it can look like that ^
HOW
and then you have to learn a new unrelated set of logs checking operations
etc..
Yea Rabbit holes SUCK
finally that's what is nice and worse with linux : it's a pretty f* big rabbit hole
but it also means it have almost anything you want in there
just have to figure out how to get it actually
Great now my server isn't coming up...
it can fail the first times after update
I guess it did come up but still getting the same error
steamcmd finished cleanly ?
you can add validate before +quit to be sure every thing is alright
I must go off though, I wish you getting it up nicely
I already pushed too late
Ran it twice to be safe
and it said app 1690800 already up to date
ok thanks for the knowledge bud
I am having a strange issue where it says the server is offline yet is able to detect that the server doesn't have a name haha
I am guessing I just gotta reboot it and let it marinade a bit
hmmm still not working, strange, server was working fine pre update
update the server?
its obviously not updated
i can see that
wondering if there another way to update it
since that way isnt working
i just use the intended way of steamcmd and it works
The game version is older than your server version.
The server has updated, you haven't.
Oh sorry that is my mistake then
just the command line of steamcmd there
-beta public is u7, -beta experimental is u8
anyone have an idea of why my server wont port forward in my pfsense firewall ? i went to nat > port forward and added port 7777 and the right ip for my server and its not working
also added the other two ports?
do i need thos now ?
yeah, these are to find the server
so i have port 7777 and 15777 and 15000 and its still not showing up
and when i do a port checker it shows its not open
well, then its closed
so idk what im doing wrong on my firewall cuz normally it worked but its just not letting me port forward
and here is my nat for port forwarding
:yuusha_shrug:
Often times ports will only appear as open if something is actively using them.
hmm seems like it works now ty for the help
interesting case here.
except some rubber banding the server seems to be fine. except one thing. every player is allowed to join a world exactly once. a second time, no matter if clients closed or not always time out.
only fix is to load a save on the server.
so you can join without a problem, but when you quit or crash, you are gone.
can only join again after loading a save kekw
but thats mostly fine and not worse than before.
because before after crashing it was impossible to get the old character again, so it was needed to load a svae anyway and we are used to it.
now its just also when we quit.
but that just means to load the save that gets dome after quit before we join again.
still interesting problem
Anyone know of some ways to make servers less "pop-in"?
There are some large builds on my server, but I don't see them until I get close, whereas I almost expect them to be on the horizon, and not only gradually load in as I get closer.
I don't mind if I have to load longer initially to load the entire map, but right now it's just jarring.
Anyone else running into a crash upon mass deconstructing in a blueprint setup?
you mean in the designer?
if you mean the dismantle blueprint feature, personally have not tried it yet
I am talking about my server crashing whenever I deconstruct multiple pieces in short succession π
The console gets' spammed with missing audio entries prior to the crash.
Are you running U7? it's a known issue
if you give us the crash stack we can take a look
I'm only aware of a dismantle crash in U7 that is fixed in U8 personally
which files you'd need?
The entire crash report folder zipped?
the CrashContext.runtime-xml should contain the most important data
Aight, will get you the file asap! :>
interesting
Oh while we're on it @clear lagoon would you happen to know if NSSM allows for the console to be viewed?
I'm fairly sure I added -log and -unattended to the service I was creating, however, it never actually opens up a cmd window.
This is uncool
Both game and server updated. Both Epic clients restated. Both server and a client PCs restarted
hey where can i learn how to set up a dedicated server?
Have you read the wiki? the link is in the channel description at the top
aw man I give up lol
looks like your dedicated server is running u8, while your client is using u7?
https://satisfactory.wiki.gg/wiki/Dedicated_servers (The Pinned wiki is the old wiki, to my knowledge)
ty
I'm sorry, I'm not familiar with windows tooling
Aight, figured it'd be worth a shot! π
Who needs a console spamming log entries anyways, when your server just restarts automatically!
It's an entry in the wiki! :>
https://i.imgur.com/qVU1oO2.png
Steams' way is just propagating a hidden 'game', while Epic makes it easier accessible.
ah ok but is it a click and done thing or is there some tweaking the page is not detailed per say
i'll figure it out lol thanks for the help
Aight
You wouldn't be able to read the output of NSSM as it'll run as a service under a Windows account
Although if you really want console output you could probably open Powershell and do something like this 'Get-Content %SatisfactoryServerDir%\FactoryGame\Saved\Logs\FactoryGame.log -Tail 25 -wait' considering you've enabled the console logging anyway
you can also try u8 if you want, lot of these bug are fixed
we just are waiting a network bug fix so we can better connect to games
thats normal, because a server cant send you the whole map at the same time. only your near surrounding.
similar with stuff that was there before. like slugs will be there and disappear when getting close.
because your client will show the default map until the server sends the difference to that
I'm aware of why it happens. I'm mostly curious if there's a way around it. Force the server to send the whole map at once. Or at least much earlier.
24/7 syncing a map of this size would take a ton of network and performance and is not that realistically. for a single person its dosble, because you know sending it once is enough because it wont change. when there are more players, stuff get complicated, because far away parts could change, so you resync everything.
except you send the map once to everyone, then only resync the surrounding of all players with everyone to cover changable area.
still adds a ton of potential complexity and probably isnt a good idea yet, since the stuff is single threaded and will most likely break fast with a few players.
though i think your client kinda saves added stuff?
like i can see factories we built forever from far away when i was there once. even when relogging i think. just stuff that existed on the map is visually there again and get removed when going close
since servers are in alpha state, i guess stuff like that can get better and more optimized in the future.
the time just hasnt come yet
I'm not asking for 24/7, just once, when loading.
Purely so that you can see things in the background, or you get less pop-in when approaching.
Heck, even just having some clientside cache after relogging would be great. You say this was there before, but it's definitely not there now (nor do I personally remember this, but I could be wrong there).
But, sounds like such an option isn't there right now.
it would basically streaming save file kind of
one down side would be high ram usage on both server and client
you'd have to make a lightweight version of all object that are just visual
when you are running single player it is actually here simulated
"lite way" Broken English 3000
smh
sorry for that
The best he could do as a βfixβ imo would be to run it on a VM completely within a RAM Disk if he had 64gb (probably a bit more) of RAM
The βissueβ is the way the game loads/streams assets. They did change it from the old βtileβ based system in u8 to something a bit more granular, but itβs still slower than u7 due to either the engine upgrade requirements to run, and experimental branch issues being fixed before EA release
I donβt really understand why everyone seems to use NSSM for windows dedicated server. I just use a .bat script along with task scheduler. Perhaps NSSM gives an easier to use interface? For me NSSM is nowhere near as stable, compact, or consistent compared to the built in OS tools.
@bleak flare you prob also need to switch to expermimental on your dedi ...
what do you mean, we were talking about what informations are rendered, tile are either loaded or not, this also applies to foliage etc
it doesnt run with the same environment from windows system behavior point of view, it doesnt receive the same signals when windwos shutdown etc..
I dont know what are the pros and cons for satisfactory dedicated servers but it certainly is not the same as just putting it in task scheduler, especially priority wise
Can someone help me with this?
Whenever I open the server I created, it starts and then crashes.
Nevermind, it fixed itself on it's own ._.
got a dedicated server working for a few hours with people, is there anything major to know before committing to a full play through on a dedicated server?
Define high tickrate and save regulary xD
Seriously, we are 3 on server we need to put 400 tickrate minimum to have less crash (client or server side)
Vehicles or not much recommended (tractor, explorator, truck) too much risk of crash or bug for now
Train and drone seems ok for now
Hypertube is buggy but still okay since last update
vehicle crash as been fixed last patch though mostly
NSSM is basically an app wrapper for python code to load as a windows service. It runs in the same environment. It just boots on startup and does what itβs told with a nice interface. You can make your own services in windows without it is all I mean
To me itβs just excess overhead and not native so unneeded. For the average person itβs probably best as it does make everything in one spot and doesnβt require deeper understanding or learning of windows bs, it just does it for you. Itβs a nice tool for sure, but Iβm confused why you say itβs βdifferent from a windows behavior point of viewβ? How so? Itβs an executable, that starts a windows service. You can start your own windows service tooβ¦
Without NSSM*
starting a software from task scheduler != windows service
No it isnβt. Itβs just part of the behavior I want/needed that and most are familiar with it
then you can get that a service is not tight to same environnment connection, like when windows is down, when user log out, or other similar things, it is not 1:1 to any application that is casually launched
I got that it's probably useless for satisfactory though
Yea? I guess it just doesnβt apply in my case as I have a dedicated headless server I run 24/7 just for satisfactory
Fair enough
I get what you meant now π
yes, questionning using nssm for satisfactory then I have nothing to say, but questionning nssm as a whole thing because you can launch from task scheduler I dont get
Never meant to claim the second. So I agree with ya.
But I realize now the reason for NSSM being suggested, canβt believe I didnβt before. It dies indeed make the process easier for the average person trying to run a game server. Running deficated satisfactory servers on win 11 arm through a VM isnβt exactly supported let alone common lmfao. I can be so dumb sometimes. Apologies for any negativity.
@deep turret
Is there an API we can use to gather server information such as current users on the server, list of users that have been on the server, current Tier, perfomance metrics, etc.?
noice i will try as soon i can thx for the intel
the only "api" currently existing is the game client's server manager's console
and is very limited
#patch-notes message
β’ Temporary fix for audio log spam on Dedicated Servers when using vehicles which would lead into clients being kicked out of the Server
I believe it is mostly it
Anyone else having trouble with not able to cut down trees in a self hosted server?
anyone else got this problem with latest experimental? server console says -> Opening a new route from '[::ffff:46.167.26.216]:51658' to '[::1]:15000' but failed every time
yeah i assumed that too
you can try using -multihome too
Ue5 default as ipv6 was supposed to be fully implemented a decade ago and everyone still dragging their feet on that
Imo Iβd give up on dedicated server for u8 till a big dedicated server patch. Anything else is an exercise in frustration.
I cant cut down trees in server?
As soon as i upload my save to my server all the trees are back and i cant cut them down?
Me and my friends use a startup script that checks a GitHub repo for a newer save and launches it after downloading if there is, and uploads the save on game exit. So long as we play together when online, it doesnβt have an issue with multiple different versions
And just use client hosting. Or the extra pc as a server/client. But not everyone has a second pc and account on hand
Itβs not the best at all but it works for now
bug with sync, sometimes cutted trees reappear :/
It's a random issues
it's better using ipv6 for network compatibility and new standards,
but the problem is it is bugging with it, and mixing things up
only in u8 though
u7 didnt have most of these problems
I allready spend a day cutting down trees in the factrories when update 8 released on exp
Is it the same LOD bug as everything else at play, where it doesnβt load the close LOD and things that are gone still show? Like the power shard slugs are my best example
Yep
Either way, the devs did say that dedicated will be pretty broken for u8 for awhile
Like, theyβll start fixing it after u8 goes to live branch iirc
Dedicated server is just lower on the priority list sadly
Im thinking about getting myself a second account to host a client on a low spec grapichs setting on a second pc
Understandable if not much dev to work on every side
Which I hate. Because I see quite a performance boost when I run a local server on a different pc. Makes sense imo as itβs got the server work offloaded
And also is nice to have a persistent shared world with friends
That GitHub workaround I made is messy at best
I want to keep de session online for friend yes
But i dont want to keep my gamer rig running all the time.
Why not? Is more harmful to a pc to turn it on and off daily than run 24/7
Though both are negligible so it didnβt matter aside electrics busy or heat
I keep it on but i dont want to keep my graphics card maxed out all the time
Set a low frame cap
And put everything on low starting at a wall in a corner
I want to play on it as well
Then when you want to play, turn settings back to normal
And i can use a second account to send me items from main storage to a new base im building
Idk, Iβm spoiled by my m2 Mac mini running the server, as itβs 15w of power and heat are nothing compared to my gaming pc.
But for now the easiest way to keep a server running is to just have a spare account and pcβ¦at least imo. Thatβs not feasible for most though, including me. I only have one gaming pc, Iβm sure most do lol
There is/was some way to bug it out and have the βhostβ die, allowing 4 active players. Not sure if it still works in u8. I could never make it work
Im back to work on my new plastic factory.
Thanks for the input
what is the default tickrate and how do I change it? Also thank you you've given me some nice clarity
default is 30
on u7 we took it to 60, helped some visuals, nothing more.
u8 we reverted this because everything else than 30 was just unstable as hell and while trying to reach 60 the server dropped to 15
I have been running on 60 ticks just fine. It only lowers when somebody connects then go back up.
Is there some metric where I can track the tickrate or do you just visually notice
I believe it shows on the server manager. I am not able to check this right now. I was able to notice items on the belts almost never disappear or stop moving with higher tick rate.
yeah, server says it ingame
and yes, thats the only positive about higher tickrate we ever saw. stuff on belts getting less stuck
but we cant get it stable on u8
but default works better than u7 default tbh
Howdy kind folks! A friend of mine was running a dedicated server and it started acting funny when I tried to connect. I connect past loading screens, and then satisfactory crashes after showing a single frame of ingame
I tried setting the server up on a machine I had and got to that point and now can't connect to the server at all.
The console has a lot of mention of failing to initialize the SteamAPI
And now I am getting the below error
There have been some issues with how the client is handling ipv6. There have been a few different ways to deal with this posted over the last week or so.
One was to specify the ipv4 as if you were running a multi tenant setup another was to disable packetracjng.
Your call on which one you are more comfortable with π
Sadly I have stopped tinkering with U8 experimental dedicated servers as I couldnβt work out how to use advanced features without transplanting a local save file and session.
Does anyone know if these options can be toggled through the console shell?
have you tried loading an auto-save and check the box when doing so?
Hmm. Iβll give it a go.
I did try loading a local save through the server manager, but that only applied to the single session I set up and didnβt persist
Can you tell me more about specifying to use ipv4?
Anyone know if you can still enable multi core or not cuz one of my server has a slow cpu so im wondering if multi core would help
The server will use as many cores as it can
Multi core is always on
I mean i have 24 cores buts only used 1
add multihome=0.0.0.0 to the startup arguments in the service file
if you load your server save with the option on it will be on
then you have to save that as well to persist
either auto-save disconnect-save or manual-save
as long as you saved your game in advanced mode
there are some problems with these kind of arguments in u8 though
waiting for a patch if it ever come (dedicated server isn't priority)
actually no problems to that.
just that ue4 defaulted to ipv4 while ue5 wants ipv6 now.
disabling ipv6 on the machine lets it behave as before
because there is no ipv6 and it uses the old defaults
would also work if you set up ipv6 routing properly. but many servers and firewalls cant do that
getting synced secure ip with ipv6 is harder than with ipv4
and authorities have tried to artifically put limits on ipv6 forwarding, which means it is less tool supported
(btw, fundamentally, connection establishment is by local forwarding, even though nobody put that officially yet)
i get this
then this
everythings correct.
but client somehow errors now
in loading sceen
wasnt before, changed nothing
hm, it somehow corrupte the save being unable to load it. using another one worked
You can try to load corrupted save in to single player, see if can connect normally and move back to server if works
127.0.0.1 is localhost, it cant be routed
it happens the same with ipv6
network is broken
you mean you are running server on your machine along with the game client ?
this is the route from external to localhost. because the server obviously binds to the local network adapter of the system its installed on
its my private ip to the servers local ip
localhost isnt the server local ip
it looks this way when a server is behind a firewall
nope
local ip isnt localhost
you have both public ip, local ip AND localhost
that's the loopback network stack interface
right.
127.0.0.1 is the local ip
localhost is the localhost
nope, 127.0.0.1 IS localhost
localhost name records 127.0.0.1 and ::1
no, a server behind a firewall only has its private ip
127.0.0.1 is not a private ip
it's loopback ip
every machine have 127.0.0.1
even the router
yeah, but thats where you bind stuff on
you bind on any local ip
it has to be an internal ip
or even sometimes on external ip if your network stack allow it
and there usually is just one. thats 127.0.0.1. except you made additional virtual ones
that's why you have binds to 0.0.0.0: and [::]:
that are placeholder ips, basically : you bind to every ip
nope, also 127.0.0.1 is technically a virtual one as it is software loopback
yeah, but binding to 0.0.0.0 simply results in binding to 127.0.0.1 except you made additional internal ips
you dont make any ip by binding anything
0 is to all. normally there only is this one
ips are setup there already
yeah, you can bind only to existing stuff and the literal only existing efault one is 127.0.0.1
0.0.0.0 means all the local ip, and loopback is one of them, a special one
you cant communicate with any other machine only running on 127.0.0.1
that's why it's called localhost
thats wrong
you cant send with it, but every input gets there
thats why the server makes a route from it
because when you arrive at a server, you arrive there
so you mean the server im literally playing on doesnt work actually?
like 192.168.1.56 for instance
no, you ask for that, but thats not where you arrive
you connect to it with this ip, but the server gets your message at the internal ip
no firewall on earth would behave correctly if any packet arriving was then injected into loopback interface
actually its the opposite.
nothing could work wen you bind everything irectly too your door outside instead of having it internal
the server gets the message as it arrive on socket it binds for, which is any local address the machine have if they binded to 0.0.0.0
0.0.0.0 defaults to 127.0.0.1
0.0.0.0 defaults to any
any LOCAL
both are local, the term is useless
exactly both are local 0.0.0.0 binds to any local
it is critical to not bind directly to outside
and 127.0.0.1 is one of THEM
no, any internal, not any local
man, you are trolling me I cant
as said, security doesnt exist when binding directly to outside connected
why do you think 127.0.0.1 is an IP ADDRESS and why do you think we talk about loopback INTERFACE, the terms are there, its comming from "outside"
127.0.0.1 is just a virtual outside specific to the host
so again, you say it cant work while it works and we literally do it that way in a large company because it is literally forced by law
if you do it that way in companies it's called a security hole
you are not allowed to bindd any software directly to the outside ip
what you do is bypassing every security
because localhost have more access to the network than outside coming trafic
ok, i end this here.
you have clearly no idea about the topic
you are still confusing local ips and loopback ips, the host doesnt even HAVE public ips, it could even not know about it
local ip are there
- for ipv4
because we are talking ipv4
simple question to disqualify you.
give an example for an internal and an external ip
on ipv6 you can have public-local ips
I already gave it to you
192.168.1.54 is local ip
127.0.0.1 is loopback (internal) local ip
I didnt
i said internal and external.
you just marked stuff as local (both, so remove that word) and internal
that are not standard defined terms but lets is it then:
192.168.1.54 is local(internal and external) ip
127.0.0.1 is loopback (internal) local ip
internal and external
saying this is like self disqualification
it cant ever be both
you are then confusing what communication is
only external would be routing
if you get the message at some point and read it, it's going inside your communication pipeline
local ip can be routed on loopback when they are used as such
and then it's internal behavior
like loopback 127.0.0.1
a pc has an external ip were you can contact it, this ip is solely for communication with the outside.
so you contact this ip, the pc gets it, and reroutes you to a specific port of the internal ip, on this rerouting, stuff like firewalls etc happen and can decide to either block or let you go to the internal one.
then you arrive at the internal ip and here you are allowed to talk to something thats waiting at this specific port. this place is where you bind software to.
when you dont do this and rather bind the software directly to the outgoing ip, no internal rerouting and packet filtering can happen, so you are completely unprotected. this is in fact illegal here.
when you ever configured a hardware firewall you would know, that you always reroute the connection from the outgoing ip to the internal one and eveything inside is connected to this one and never to the outgoing
and the ip you said like 192.168.1.54 is the external one. binding to this bypasses every protection this pc could have. its half okay when you still have an external firewall before that, but its still oof
green machine doesnt do routing because it's a user machine
red machine is a router
yeah, thats the disqualification for thinking a user machine and a router are technically different
did I say they are technically different ?
one is doing the cyan thing, the other isnt
that's what qualify a machine for being a router or not
That explanation is so convoluted and incorrect that I don't even know where to begin.
A computer has some special loopback addresses that always send network packets to itself, i.e. 127.0.0.1/32 or ::1/128
On top of that, the network interface cards (NICs) of the computer can bind to one or more IPv4 and/or IPv6 addresses.
Due to the scarcity of IPv4 addresses, new technology was introduced called Network Address Translation (NAT) that can translate one single publicly assigned IPv4 addresses to multiple internal network device address ranges, kind of like internal phone numbers within a company PBX.
These ranges are 10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, and most commonly in home networks: 192.168.0.0-192.168.255.255.
When not connecting to the internet by means of NAT your device can have a publicly valid IP address that is directly reachable.
Any packets that arrive at the IP Address of the computer will be handled by the OS Kernel as appropriate, usually filtered through firewall rules as configured. There is no way to skip past this software firewall by using some sort of magic internal IP address.
Because of the nature of NAT, it needs to translate incoming packet data to the correct destination device in its internal network. Because new sockets initiated by an external party only connect to the publicly known IP Address and a port, the NAT device can only establish the connection if this port is configured in a Port Forwarding table. This coincidentally makes the NAT device effectively function as a firewall for new inbound sockets.
So NAT is just a work-around to make a single IPv4 address service multiple computers, and is not how IP networking in general is intended to function.
With IPv6, there are again enough addresses to directly assign to all individual devices. This leads to the effect that a router will perform its original function again: your router becomes responsible to route packets for the address space assigned to your router and all devices behind it. This means there is no distinction between public and private addresses. Your router can send any packets destined for a specific address directly, without having to "translate" addresses to internally assigned ranges.
This does not prevent your router from still performing firewall functions. It is still responsible for routing all packets, can read their headers just fine, and can drop any packets as it so wishes. If your router does IPv6 addressing and is in any way worth its salt, it should still be performing firewall functions just as incidentally happens for inbound sockets on IPv4 with NAT.
congrats to completely dodging the topic and explaining something that was never even mentioned
also a skill, i guess
I was responding to your explanation of external and internal IP addresses and how it makes no sense how you explained it, and you state that packets sent to a public ip address are entirely unfiltered
they are
I responded with an explanation that provides why they are not
and you talking about being a filter in front of it
I'm sorry my maniac side showed up, there is only a very tiny bit off : it's 127.0.0.1/8 instead of 127.0.0.1/32 even though 127.0.0.1 is the one mostly used
there is always a filter between the kernel and user space
well yeah, but thats not really useful actually
binding is basically telling the kernel "I want to know about that so tell me" the kernel is managing this because there are so many pieces of software running on a single machine
... are you calling kernel firewalls not useful?
well, they do stuff, but when someone actually tries, they hold nothing.
they only prevent the most stupid attacks
hardware firewalls are just running an OS that still does firewall in software you know. it's all the same devices. computers, routers, switches, same difference
firewall rules are the most important part of a good network setup. heuristics firewalls are a far more advanced topic
intrusion detection is not what I am trying to talk about here
"There is no way to skip past this software firewall by using some sort of magic internal IP address." unless you manually add rules that punch that hole into it, but you dont want to do that as I said already
ps: not against you, I'm just linking my messages around yours, just going a bit further into it
but anyways. about the actual topic.
you may try to bind the server to like -multihome 10.0.0.24
it will still bind to only 127.0.0.1 because it is supposed to do that
its impossible for the engine to bind to the external one
doesnt matter what ipv4 address you give it, it will always bind there
? what are you talking about
just try it, you wont be able to. because that would be exactly the hole mentioned here
the engine will always refuse to bind directly to the ip if its the external ip of the system.
probably because thats disallowed by many countries laws
then how would it get network packets?
i explained that
"when you dont do this and rather bind the software directly to the outgoing ip, no internal rerouting and packet filtering can happen, so you are completely unprotected. this is in fact illegal here.
when you ever configured a hardware firewall you would know, that you always reroute the connection from the outgoing ip to the internal one and eveything inside is connected to this one and never to the outgoing"
are you trolling ?
software binds to any interface they want as long as kernel allow them to, and then the packet isnt "rerouted"
im asking myself the same about you for quite some time.
but im kinda sure you just really dont know
okay so the server binds to 127.0.0.1, which means it will only receive packets from the kernel that were destined for that IP address specifically. The router, at 192.168.0.1 dispatches packets for the game to my computer, at 192.168.0.107. How does the kernel that receives the packets end up in the userspace of the server only bound on 127.0.0.1?
though you can reroute it by special rules but that would be stupid
explained that
here
where? I can't find specifically where you make the jump from 192.168.0.107 to the userspace process
you literally said "rerouted"
because English has no precise word for that as far as i know
need to pick stuff thats close to the meaning. sadly the language is really limited
I think it have but you want to put a convoluted thing inbetween for no apparent reason
as i said, try to start the server with binding ot to the external
that wont happen
your userspace process is bound to 127.0.0.1 so the kernel will find no userspace processes to deliver the packets on the server port for that are destined to 192.168.0.107. The packets are dropped. your connection would fail
literally how I am running my server, but sure π
so our whole working infrastructure doesnt work.
interesting
Nachtnebel are you running windows or linux ?
give me the shell output
so I can directly give you command to gather listenning
you obviously see I have a missing link in my explanation, but you can't explain what the missing link is?
it will say 127.0.0.1
depends what you exactly want.
have everything with few windows, few linux, some bsd, etc
im not sure what you are asking for
UDP bindings as follows:
85.10.195.11:7777
85.10.195.11:15000
85.10.195.11:15777
nono.
what does the server say. not the pc
so the shell output of the software
not to what the pc translates it
[2023.06.22-22.14.19:074][596]LogNet: Created socket for bind address: 85.10.195.11:15000
I swear if this entire tangent is because UE5 has some stupid internal packet router that binds to the public ports and just retransmits packets to localhost, this is going to have been such a waste of time because both are part of the same software in userspace
apparently I have to install an update. give me a min
whatever do UE5 that may be stupid does not mean it cant read packets directly
it's just the software doing what it wants to
and I was saying it is not supposed to do that
Well, the latest video on dedicated servers ( https://youtu.be/sLPX6TovVNU ) explains, I guess, why I experience such a high number of crashes on my pc when I'm playing on my own server. It's like experimental * experimental... which is a shame because sometimes it completely makes it impossible for me to continue playing (3 UE5 crashes in a row within minutes of restarting the game is no fun). Anyway, check out their latest update (the one about them going on a well-deserver holiday for the month of July) on YouTube for a bit more info. This is not meant as a sneer by the way, they do very much deserve some time-off. I might just revert to release 7 for my multiplayer sessions. This is early release and experimental at that.
like you get this for whatever you told them via -multihome
and when a client connects, it gets routed to 127.0.0.1 nonetheless
i blurred my private ip for obvious reasons
thats my real external ip
that's UE5/dedicated serve internal, it is not machine networking
an it will always get route there. its impossible to prevent that
[2023.06.23-12.31.34:413][212]LogBeacon: OnlineBeaconHost_2147401330[IpConnection_2147401058]: Beacon Join FGServerBeaconClient Steam:(Steam)76561198057327031 (unauthenticated)
[2023.06.23-12.31.34:772][223]LogBeacon: OnlineBeaconHost_2147401330[IpConnection_2147401058]: Handshake complete.
[2023.06.23-12.31.36:508][275]LogNet: UChannel::ReceivedSequencedBunch: Bunch.bClose == true. ChIndex == 0. Calling ConditionalCleanUp.
[2023.06.23-12.31.36:508][275]LogNet: UChannel::CleanUp: ChIndex == 0. Closing connection. [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 84.193.155.129:50756, Name: IpConnection_2147401058, Driver: IpNetDriver_2147401328 IpNetDriver_2147401328, IsServer: YES, PC: NULL, Owner: FGServerBeaconClient_2147401046, UniqueId: Steam:(Steam)76561198057327031
[2023.06.23-12.31.36:508][275]LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 84.193.155.129:50756, Name: IpConnection_2147401058, Driver: IpNetDriver_2147401328 IpNetDriver_2147401328, IsServer: YES, PC: NULL, Owner: FGServerBeaconClient_2147401046, UniqueId: Steam:(Steam)76561198057327031, Channels: 9, Time: 2023.06.23-12.31.36
[2023.06.23-12.31.36:508][275]LogNet: UNetConnection::SendCloseReason:
[2023.06.23-12.31.36:508][275]LogNet: - Result=ControlChannelClose, ErrorContext="ControlChannelClose"
[2023.06.23-12.31.36:508][275]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 84.193.155.129:50756, Name: IpConnection_2147401058, Driver: IpNetDriver_2147401328 IpNetDriver_2147401328, IsServer: YES, PC: NULL, Owner: FGServerBeaconClient_2147401046, UniqueId: Steam:(Steam)76561198057327031
[2023.06.23-12.31.37:544][306]LogNet: NotifyAcceptingConnection accepted from: 84.193.155.129:40624
[2023.06.23-12.31.37:610][308]LogNet: NotifyAcceptingConnection accepted from: 84.193.155.129:40624
[2023.06.23-12.31.37:611][308]LogNet: Server accepting post-challenge connection from: 84.193.155.129:40624
[2023.06.23-12.31.37:611][308]LogNet: IpConnection_2147401022 setting maximum channels to: 32767
[2023.06.23-12.31.37:611][308]PacketHandlerLog: Loaded PacketHandler component: DTLSHandlerComponent ()
[2023.06.23-12.31.37:611][308]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2023.06.23-12.31.37:611][308]LogNet: NotifyAcceptedConnection: Name: Persistent_Level, TimeStamp: 06/23/23 12:31:37, [UNetConnection] RemoteAddr: 84.193.155.129:40624, Name: IpConnection_2147401022, Driver: GameNetDriver NetDriverEOSBase_2147481943, IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID
LogGenericPlatformMisc: Error: SetEnvironmentVar not implemented for this platform: SteamAppId = 526870
[2023.06.23-12.31.37:611][308]LogNet: AddClientConnection: Added client connection: [UNetConnection] RemoteAddr: 84.193.155.129:40624, Name: IpConnection_21474dlopen failed trying to load:
steamclient.so
with error:
steamclient.so: cannot open shared object file: No such file or directory
[S_API] SteamAPI_Init(): Loaded '/home/sparxy/.steam/sdk64/steamclient.so' OK. (First tried local 'steamclient.so')
no 127.0.0.1 in my logs. just my home ipv4
happy now?
note : we are kind of investigating bug, you dont investigate bugs if you consider any behavior as a feature
thats not a bug because its a literal law
you made it so, when it is only in UE5 software here
i already said, that almost every existing software behaves that way
most time it just doesnt tell you that it does
there. the start of the connection handshake
still no 127.0.0.1
thats way before handshake
its right below what you sent before
that creating a socket
like this close to the message
here's the full server log. point me at it
that file is 3863 lines
ah, display full file doesnt mean full for discord ....
so you really are allowed to commit a security breach. okay
from your screenshots all I can assume that there is some piece of software between the unrealserver binding and your public ip that I'm not aware of
there is no security breach
go at it
yeah obvious, because direct bindin is illegal here
as already said
but it should be the engine not allowing it. because its nothing you do manually
so what software is it you're running that indirects the network connection?
it's probably something to do with windows defender or firewall since your screenshots look windowsy
there is none.
maybe the engine tells what county you are and has different defaults?
what country you in, if you don't mind me asking?