再現手順
- 最初
- DisplayPort の映像(PC)が表示されている状態
- ソースを HDMI に切り替える
- PS5 の画面が映る
- ソースを DIsplayPort に切り替える
- 画面が真っ暗なまま
- モニターの OSD で「シグナルが検出されません」が表示される
環境
解決方法
- モニターの設定で DDC/CI を無効化する --> ダメだった
using namespace Eigen; const Vector3f originalInEuler= { 0.2f, 0.4f, 0.6f }; const AngleAxisf originalInAa = AngleAxisf( originalInEuler(0), Vector3f::UnitX() ) * AngleAxisf( originalInEuler(1), Vector3f::UnitY() ) * AngleAxisf( originalInEuler(2), Vector3f::UnitZ() ); const Vector3f resultInEuler = Quaternionf(originalInAa).toRotationMatrix().eulerAngles(0, 1, 2);
※以下は引数に 0, 1, 2 を渡した場合の話
GCP で VM インスタンスを立てて、そこで Satisfactory サーバーを動かす方法を書いた手順書です。
sudo apt update sudo apt -y upgrade
sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 sudo apt update
sudo apt install -y lib32gcc-s1 steamcmd
steamcmd
login anonymous
app_update 1690800 validate
exit
sudo apt -y install tmux
tmux
Steam/steamapps/common/SatisfactoryDedicatedServer/FactoryServer.sh
FG.AutosaveInterval 1800
を入力%localappdata%\FactoryGame\Saved\Config\WindowsNoEditor\
の各設定ファイルを書き換える - ※同名の変数が最初からある場合は上書き、ない場合は追記 - Engine.ini ``` [/Script/Engine.Player] ConfiguredInternetSpeed=104857600 ConfiguredLanSpeed=104857600
[/Script/OnlineSubsystemUtils.IpNetDriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600
[/Script/SocketSubsystemEpic.EpicNetDriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600
```
- Game.ini
```
[/Script/Engine.GameNetworkManager]
TotalNetBandwidth=104857600
MaxDynamicBandwidth=104857600
MinDynamicBandwidth=10485760
```
- Scalability.ini
```
[NetworkQuality@3]
TotalNetBandwidth=104857600
MaxDynamicBandwidth=104857600
MinDynamicBandwidth=10485760
```
~/Steam/steamapps/common/SatisfactoryDedicatedServer/FactoryGame/Saved/Config/
の各設定ファイルを書き換える - ※同名の変数が最初からある場合は上書き、ない場合は追記 - Game.ini ``` [/script/engine.gamenetworkmanager] TotalNetBandwidth=104857600 MaxDynamicBandwidth=104857600 MinDynamicBandwidth=104857600 MAXPOSITIONERRORSQUARED=32.00f MoveRepSize=512.0f CLIENTADJUSTUPDATECOST=512.0f bMovementTimeDiscrepancyDetection=false bMovementTimeDiscrepancyResolution=false bMovementTimeDiscrepancyForceCorrectionsDuringResolution=false MAXCLIENTUPDATEINTERVAL=2.20f MaxMoveDeltaTime=0.700f MaxClientSmoothingDeltaTime=2.20f MaxClientForcedUpdateDuration=1.0f ClientNetSendMoveDeltaTime=0.0332 ClientNetSendMoveDeltaTimeStationary=0.0664 ClientNetSendMoveThrottleOverPlayerCount=99 ServerForcedUpdateHitchThreshold=2.800f
[/script/engine.gamesession]
MaxPlayers=10
```
- Engine.ini
```
[CrashReportClient]
bAgreeToCrashUpload=false
bImplicitSend=False
[Engine.ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False
[/script/onlinesubsystemutils.ipnetdriver]
MaxInternetClientRate=104857600
MinInternetClientRate=104857600
MaxClientRate=104857600
MinClientRate=104857600
LanServerMaxTickRate=15
NetServerMaxTickRate=15
ConnectionTimeout=100.0
InitialConnectTimeout=200.0
[SystemSettings]
t.MaxFPS=15
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
net.UseRecvMulti=0
net.RecvMultiCapacity=8192
net.IpNetDriverUseReceiveThread=0
net.IpConnectionUseSendTasks=1
net.IpNetDriverReceiveThreadQueueMaxPackets=8192
net.MaxNetStringSize=67108864
net.MaxRPCPerNetUpdate=8
tick.AllowAsyncComponentTicks=1
tick.AllowConcurrentTickQueue=1
tick.AllowAsyncTickDispatch=1
tick.AllowAsyncTickCleanup=1
[/script/engine.player]
ConfiguredInternetSpeed=104857600
ConfiguredLanSpeed=104857600
[/script/socketsubsystemepic.epicnetdriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600
[/script/engine.engine]
bSmoothFrameRate=true
bUseFixedFrameRate=false
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=5.000000),UpperBound=(Type=Exclusive,Value=15.000000))
MinDesiredFrameRate=8.000000
FixedFrameRate=15.000000
NetClientTicksPerSecond=15
[/script/engine.garbagecollectionsettings]
gc.MaxObjectsNotConsideredByGC=476499
gc.SizeOfPermanentObjectPool=100378488
gc.ActorClusteringEnabled=True
gc.BlueprintClusteringEnabled=True
[/script/engine.streamingsettings]
s.EventDrivenLoaderEnabled=True
s.AsyncLoadingThreadEnabled=True
[Core.System]
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning
[Core.Log]
LogPluginManager=all off
LogOnlineIdentity=all off
LogOnlineSession=all off
LogMemory=all off
LogPakFile=all off
LogTemp=all off
LogLinker=all off
LogOnline=all off
LogOnlineGame=all off
LogAnalytics=all off
LogConfig=all off
LogInteractiveProcess=all off
LogInput=all off
LogOnlineEntitlement=all off
LogOnlineEvents=all off
LogOnlineFriend=all off
LogOnlinePresence=all off
LogOnlineTitleFile=all off
LogOnlineUser=all off
Global=off
```
chmod -w Game.ini chmod -w Engine.ini
以下の手順を、マルチの参加者全員が行う。
これを実行したあと、快適にターンが進むようになった(快適性+5)。
やらかし(後述)たので
# usermod -g <group name> <user name>
こちらは「上書き」なので、変更前の補助グループリストは全部吹き飛ぶ。
# usermod -G <group name1>,<group name2>,... <user name>
こちらは「追記」なので、変更前の補助グループリストは残る。
# usermod -aG <group name1>,<group name2>,... <user name>