diff --git a/modules/ROOT/images/BeginnersGuide/FailedToGenerateProjectModel.png b/modules/ROOT/images/BeginnersGuide/FailedToGenerateProjectModel.png new file mode 100644 index 00000000..6c79a382 Binary files /dev/null and b/modules/ROOT/images/BeginnersGuide/FailedToGenerateProjectModel.png differ diff --git a/modules/ROOT/pages/CommunityResources/AcronymVault.adoc b/modules/ROOT/pages/CommunityResources/AcronymVault.adoc index 6f54b537..114207b5 100644 --- a/modules/ROOT/pages/CommunityResources/AcronymVault.adoc +++ b/modules/ROOT/pages/CommunityResources/AcronymVault.adoc @@ -88,8 +88,8 @@ A separate https://satisfactory-calculator.com/en/megaprints[Megaprints Reposito Satisfactory Server Manager is a webpage designed to manage and control multiple satisfactory dedicated server instances. -Its public source code can be found on -https://github.com/mrhid6/SatisfactoryServerManager[GitHub]. +Its public source code can be found on the Organization's +https://github.com/SatisfactoryServerManager[Github]. [id="SMEH"] === Satisfactory Modding Environment Helper (SMEH) diff --git a/modules/ROOT/pages/CommunityResources/ServerHostSmmInfo.adoc b/modules/ROOT/pages/CommunityResources/ServerHostSmmInfo.adoc index 93f0a23d..e6d3f77a 100644 --- a/modules/ROOT/pages/CommunityResources/ServerHostSmmInfo.adoc +++ b/modules/ROOT/pages/CommunityResources/ServerHostSmmInfo.adoc @@ -20,9 +20,8 @@ To ensure compatibility, check the following: and the underlying link:https://github.com/satisfactorymodding/ficsit-cli[ficsit-cli] are available if they would assist with your troubleshooting. * (Bonus points) Allow users to temporarily prevent their servers from updating to newer game versions ** Some users like to run previous versions while waiting for mods to be updated. -* (Bonus points) Also expose port 8080 - ** In addition to the ports used by the base game, some server monitoring mods like link:https://ficsit.app/mod/FicsitRemoteMonitoring[Ficsit Remote Monitoring] use this port for communications. +* (Bonus points) Also expose optional extra port(s): + ** In addition to the ports used by the base game, some server monitoring mods like link:https://ficsit.app/mod/FicsitRemoteMonitoring[Ficsit Remote Monitoring] use a TCP port for communications. + ** Port(s) can be configured for mods to facilitate flexibility in assignment. See mod documentation or reach out to the mod creator/maintainer for details. -==== -If you have any questons, or want to be added to the xref:ForUsers/DedicatedServerSetup.adoc#SupportedHosts[known supported hosts list], contact us on the link:https://discord.ficsit.app[Discord]. -==== +If you have any questons, or want to be added to the xref:ForUsers/DedicatedServerSetup.adoc#SupportedHosts[known supported hosts list], contact us on the link:https://discord.ficsit.app[Discord]. \ No newline at end of file diff --git a/modules/ROOT/pages/CommunityResources/incredibuild.adoc b/modules/ROOT/pages/CommunityResources/incredibuild.adoc index 522d68d9..b6a9c5c8 100644 --- a/modules/ROOT/pages/CommunityResources/incredibuild.adoc +++ b/modules/ROOT/pages/CommunityResources/incredibuild.adoc @@ -47,7 +47,7 @@ image:CommunityResources/Incredibuild/incredibuild-email.png[image] == Installing Incredibuild Now that you have your license, we can begin installing Incredibuild. -If you haven't already, you can download the agent installer from https://dl.incredibuild.com/ib10-latest[here]. +If you haven't already, you can download the agent installer from https://docs.incredibuild.com/site_landing/download_docs_center.htm[here]. Run the installer and read the license agreement before accepting. For the install configuration, select "Grid" mode. diff --git a/modules/ROOT/pages/Development/Linux/LinuxSetup.adoc b/modules/ROOT/pages/Development/Linux/LinuxSetup.adoc index 82cb40f0..f13a2585 100644 --- a/modules/ROOT/pages/Development/Linux/LinuxSetup.adoc +++ b/modules/ROOT/pages/Development/Linux/LinuxSetup.adoc @@ -239,6 +239,57 @@ Open the Settings window and find the "Plugins" page, then search the marketplac link:https://plugins.jetbrains.com/plugin/29974-unreal-project-model-mods-fix[`Unreal Project Model Mods Fix`] by Archengius and install it. Restart the IDE if prompted. +You may encounter an error where the project model definition files fail to generate. + +image:BeginnersGuide/FailedToGenerateProjectModel.png[Failed to generate project model] + +In order to fix it so you can edit C++ code, you need to open your file manager to +`/Engine/Source/Programs/` and delete the `LiveLinkHub` directory. + +To avoid redundant compilation jobs every time you try to package a mod, you need to download these two files: + +https://github.com/satisfactorymodding/UnrealEngine/blob/5.6.1-CSS/Engine/Build/BatchFiles/BuildUBT.sh + +and + +https://github.com/satisfactorymodding/UnrealEngine/blob/5.6.1-CSS/Engine/Build/BatchFiles/DotnetDepends.sh + +and place them in `/Engine/Build/BatchFiles/`. +Ensure they can be executed by running: + +[source,bash] +---- +chmod +x BuildUBT.sh DotnetDepends.sh +---- + +Then, in your preferred text editor, open: + +`/Engine/Source/Programs/UnrealBuildTool/Configuration/UEBuildTarget.cs` + +and comment out lines 2474 through 2482 like this: + +[source,cs] +---- +// GlobalSingleInstanceMutex? mutex = null; +// if (Rules.BuildEnvironment == TargetBuildEnvironment.Shared) +// { +// string MutexName = GlobalSingleInstanceMutex.GetUniqueMutexForPath("UnrealBuildTool_CreateCompileEnvironmentForProjectFiles", Unreal.EngineDirectory); +// mutex = new GlobalSingleInstanceMutex(MutexName, true); +// } +// +// CreateSharedPCHInstances(Rules, TargetToolChain, Binaries, GlobalCompileEnvironment, new NullActionGraphBuilder(Logger), Logger); +// mutex?.Dispose(); +---- + +Now, run: + +[source,bash] +---- +bash /Engine/Build/BatchFiles/BuildUBT.sh +---- + +Once that's complete, you can move on to the compilation steps. + ==== link:#Compile[Proceed to project compilation steps ➡] ==== diff --git a/modules/ROOT/pages/Development/OpenSourceExamples.adoc b/modules/ROOT/pages/Development/OpenSourceExamples.adoc index 90f00056..417ab1d1 100644 --- a/modules/ROOT/pages/Development/OpenSourceExamples.adoc +++ b/modules/ROOT/pages/Development/OpenSourceExamples.adoc @@ -307,3 +307,31 @@ _Notable Mod Loader Features Used:_ * Actor Mixins ** Used to spawn an additional actor component on sign placement holograms (the upwards facing arrow) + +[id="FicsitRemoteMonitoring"] +== Ficsit Remote Monitoring + +Adds remote monitoring capabilities to the game. + +_Source Code_: Linked on the https://ficsit.app/mod/FicsitRemoteMonitoring[Mod Page] + +_Mod Type_: C++ with some Blueprints + +_Notable Techniques Used:_ + +* Use of a third-party library (uWebSockets) in a mod +* HTTP Server and Serial/RS232 Communications +* Webhook Communications +* Icon Generator (thanks to D4rk for the assistance) +* Modules for Client and Server logic separation + +_Notable Satisfactory Features Used:_ + +* Responds to API calls to the native game's HTTPS server to interact with the mod's features from outside the game. +* Use of the native game's configuration method, i.e. FGGameUserSettings +* Methods to access various in-game subsystems to retrieve information about the game state + +_Notable Mod Loader Features Used:_ + +* Mod Subsystems +* Access Transformers, to be able to read otherwise inaccessible member variables. \ No newline at end of file diff --git a/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc b/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc index 829e6efa..842be53a 100644 --- a/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc +++ b/modules/ROOT/pages/ForUsers/DedicatedServerSetup.adoc @@ -65,7 +65,8 @@ const unshuffled = [ "GTX Gaming", "Nodecraft", "Gravel Host", - "Nitroserv" + "Nitroserv", + "Bearded Host" ]; const shuffled = unshuffled .map(value => ({ value, sort: Math.random() })) diff --git a/modules/ROOT/pages/SMLChatCommands.adoc b/modules/ROOT/pages/SMLChatCommands.adoc index 9f4aadf7..68f52abe 100644 --- a/modules/ROOT/pages/SMLChatCommands.adoc +++ b/modules/ROOT/pages/SMLChatCommands.adoc @@ -48,7 +48,7 @@ Unreal console commands are run *from the in-game developer console* which opens when you press the grave/tilde key (``` or `~`). They can also be executed from the interactive console of a dedicated server. If the console does not open upon keypress, check out the -https://satisfactory.wiki.gg/wiki/Console#Accessing[Satisfactory Wiki's page on the Console] +https://satisfactory.wiki.gg/wiki/Debug_console#AccessingSatisfactory Wiki's page on the Console] to try alternate approaches. Some console commands are built into Unreal Engine,