### Example Response for GET /getModList Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getModList.html Shows the JSON array returned by the endpoint. Each object represents an installed mod with fields like Name, SMRName, Version, Description, DocsURL, SupportURL, CreatedBy, RemoteVersionRange, and RequiredOnRemote. ```json [ { "Name": "Ficsit Remote Monitoring", "SMRName": "FicsitRemoteMonitoring", "Version": "1.4.0", "Description": "Statistical and GeoLocation Monitoring for Satisfactory", "DocsURL": "https://docs.ficsit.app/ficsitremotemonitoring/latest/index.html", "AcceptsAnyRemoteVersion": "https://github.com/porisius/FicsitRemoteMonitoring", "CreatedBy": "Porisius", "RemoteVersionRange": ">=1.4.0", "RequiredOnRemote": false }, { "Name": "Satisfactory", "SMRName": "FactoryGame", "Version": "415558.0.0", "Description": "", "DocsURL": "", "AcceptsAnyRemoteVersion": "http://www.coffeestainstudios.com", "CreatedBy": "Coffee Stain Studios AB", "RemoteVersionRange": "*", "RequiredOnRemote": false }, { "Name": "Satisfactory Mod Loader", "SMRName": "SML", "Version": "3.11.1", "Description": "Mod loading and compatibility API for Satisfactory", "DocsURL": "https://docs.ficsit.app", "AcceptsAnyRemoteVersion": "https://discord.ficsit.app", "CreatedBy": "SML Team", "RemoteVersionRange": ">=3.11.1", "RequiredOnRemote": true } ] ``` -------------------------------- ### Full Example: Listen to Factory Connector Source: https://docs.ficsit.app/ficsit-networks/latest/lua/guide/UsingReflection.html Complete example that gets a manufacturer proxy, prints its recipe name, listens to the first factory connector, and prints ItemTransfer events. ```lua local manufacturer = component.proxy(...) local recipe = manufacturer:getRecipe() print(recipe.name) local connector = manufacturer:getFactoryConnectors()[1] event.listen(connector) while true do e, s, i = event.pull() if e == "ItemTransfer" then print("Transfer!", i) end end ``` -------------------------------- ### Example Response for GET /getStorageInv Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getStorageInv.html Example response body for the GET /getStorageInv endpoint, showing a storage container with its location, inventory, and bounding box features. ```json [ { "ID": "Build_StorageContainerMk1_C_2147395408", "Name": "Storage Container", "ClassName": "Build_StorageContainerMk1_C", "location": { "x": -63207.6484375, "y": 262781.53125, "z": -3207.024658203125, "rotation": 150.00000089058409 }, "Inventory": [ { "Name": "Iron Plate", "ClassName": "Desc_IronPlate_C", "Amount": 164, "MaxAmount": 200 } ], "features": { "properties": { "name": "Storage Container", "type": "Storage Container" }, "geometry": { "coordinates": { "x": -63207.6484375, "y": 262781.53125, "z": -3207.024658203125 }, "type": "Point" } } } ] ``` -------------------------------- ### Example Response for GET /getCloudInv Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getCloudInv.html Example response body for the GET /getCloudInv endpoint. Returns an array of objects with Name, ClassName, Amount, and MaxAmount fields. ```json [ { "Name": "Iron Plate", "ClassName": "Desc_IronPlate_C", "Amount": 164, "MaxAmount": 200 }, { "Name": "Copper Sheet", "ClassName": "Desc_CopperSheet_C", "Amount": 200, "MaxAmount": 200 } ] ``` -------------------------------- ### Example Response for getResourceSink/getExplorationSink Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getResourceSink.html Example response body returned by the GET /getResourceSink or GET /getExplorationSink endpoints. Contains the sink name, coupon count, progress percentage, graph points array, points to next coupon, and total accrued points. ```json [ { "Name":"A.W.E.S.O.M.E.", "NumCoupon":13, "Percent":15.7, "GraphPoints":[ { "Index":0, "value":33218 }, { "Index":1, "value":37837 }, { "Index":2, "value":110488 }, { "Index":3, "value":34840 }, { "Index":4, "value":75563 }, { "Index":5, "value":105934 }, { "Index":6, "value":32933 }, { "Index":7, "value":150480 }, { "Index":8, "value":223927 }, { "Index":9, "value":148770 } ], "PointsToCoupon":14902634, "TotalPoints":3334555366 } ] ``` -------------------------------- ### Example Response for GET /getPlayer Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getPlayer.html Shows a sample JSON response from the GET /getPlayer endpoint, containing player details such as ID, name, location, inventory, and features. ```json [ { "ID": "Char_Player_C_2147452680", "Name": "derpierre65", "ClassName": "Char_Player_C", "location": { "x": -57604.6796875, "y": 260436.1875, "z": -3018.36083984375, "rotation": 115.5536737696151 }, "Online": true, "PlayerHP": 100, "Dead": false, "Inventory": [ { "Name": "Beryl Nut", "ClassName": "Desc_Nut_C", "Amount": 10, "MaxAmount": 100 }, { "Name": "Paleberry", "ClassName": "Desc_Berry_C", "Amount": 50, "MaxAmount": 50 }, { "Name": "FICSIT Coupon", "ClassName": "Desc_ResourceSinkCoupon_C", "Amount": 11, "MaxAmount": 500 }, { "Name": "Hard Drive", "ClassName": "Desc_HardDrive_C", "Amount": 48, "MaxAmount": 100 }, { "Name": "Mercer Sphere", "ClassName": "Desc_WAT2_C", "Amount": 1, "MaxAmount": 50 }, { "Name": "Wood", "ClassName": "Desc_Wood_C", "Amount": 51, "MaxAmount": 200 }, { "Name": "Hoverpack", "ClassName": "BP_EquipmentDescriptorHoverPack_C", "Amount": 1, "MaxAmount": 1 } ], "features": { "properties": { "name": "derpierre65", "type": "Player" }, "geometry": { "coordinates": { "x": -57604.6796875, "y": 260436.1875, "z": -3018.36083984375 }, "type": "Point" } } } ] ``` -------------------------------- ### Light Switch Example in Lua Source: https://docs.ficsit.app/ficsit-networks/latest/lua/examples/lightSwitch.html Initializes the panel and light components, then listens for switch state changes to toggle the light. Requires a Lua CPU, RAM, EEPROM, a modular panel with a 2-position switch in the middle, and a light source connected via network cables. ```lua local panels = component.proxy(component.findComponent(classes.LargeControlPanel)) local lights = component.proxy(component.findComponent(classes.LightSource)) local panel = panels[1] local light = lights[1] -- The switch is expected to be in the middle of the panel local switch = panel:getModule(5, 5, 0) event.ignoreAll() event.clear() event.listen(switch) while true do local e, s = event.pull() if s == switch and e == "ChangeState" then light.isLightEnabled = s.state end end ``` -------------------------------- ### Complete Modular Panel button example Source: https://docs.ficsit.app/ficsit-networks/latest/lua/guide/ModularPanelAndEvents.html Combines the panel proxy, module reference, and color setting into a complete example. Adjust coordinates and remove the third parameter if using the Large Control Panel. ```lua local panel = component.proxy("...") local btn = panel:getModule(0,0,0) btn:setColor(1,0,0,5) ``` -------------------------------- ### Example Response JSON for GET /getHazards Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getHazards.html Example response for the GET /getHazards endpoint. Shows a Spore Flower actor with location, state fields, and feature geometry. ```json [ { "ID": "BP_SporeFlower25_13738", "ClassName": "BP_SporeFlower_C", "location": { "x": -17811, "y": 269409, "z": -6977.728515625, "rotation": 90 }, "State": "Idle", "GasState": "NoGas", "Significant": false, "Dead": false, "features": { "properties": { "name": "BP_SporeFlower_C", "type": "Spore Flower" }, "geometry": { "coordinates": { "x": -17811, "y": 269409, "z": -6977.728515625 }, "type": "Point" } } } ] ``` -------------------------------- ### Connect to local server with open command Source: https://docs.ficsit.app/satisfactory-modding/latest/Development/TestingResources.html Example of the Unreal console command 'open' to connect to a locally hosted dedicated server at 127.0.0.1. ```text open 127.0.0.1 ``` -------------------------------- ### Step 3: Complete script to print constructor's current recipe Source: https://docs.ficsit.app/ficsit-networks/latest/BasicConcept.html Step 3 combines the previous steps into a complete script that finds the constructor named 'WireFactory Constructor1', gets its current recipe, and prints it to the console. Enter this into the code input and press the go button to run it. ```lua constructor = component.proxy(component.findComponent("WireFactory Constructor1")[1]) currentRecipe = constructor:getRecipe() print(currentRecipe) ``` -------------------------------- ### Step 1: Getting a Constructor reference with component.proxy Source: https://docs.ficsit.app/ficsit-networks/latest/BasicConcept.html Step 1 shows two ways to obtain a reference to a Constructor component: directly via GUID with component.proxy, or by using component.findComponent with the nick "WireFactory Constructor1" to retrieve the GUID and then proxy it. The second method uses the first element of the returned array because Lua arrays start at one. ```lua constructor = component.proxy('0123456789…') ``` ```lua constructor = component.proxy(component.findComponent( "WireFactory Constructor1")[1]) ``` -------------------------------- ### Integrate Wwise into Unreal Engine project Source: https://docs.ficsit.app/satisfactory-modding/latest/Development/Linux/LinuxSetup.html Integrates the downloaded Wwise SDK into the starter project. Replace `` with the path to your project. Note the intentional difference between the SDK and integration versions. ```bash ./wwise-cli integrate-ue --integration-version "2023.1.14.3555" --project "/FactoryGame.uproject" ``` -------------------------------- ### GET /getPower Example Response Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getPower.html Example JSON response from the GET /getPower endpoint. The response is an array of objects, each representing a power circuit with fields such as CircuitGroupID, PowerProduction, PowerConsumed, and FuseTriggered. ```json [ { "CircuitGroupID": 0, "PowerProduction": 0, "PowerConsumed": 0, "PowerCapacity": 0, "PowerMaxConsumed": 100, "BatteryInput": 0, "BatteryOutput": 0, "BatteryDifferential": 0, "BatteryPercent": 0, "BatteryCapacity": 0, "BatteryTimeEmpty": "00:00:00", "BatteryTimeFull": "00:00:00", "AssociatedCircuits": [ 9, 1 ], "FuseTriggered": false } ] ``` -------------------------------- ### Example Response for GET /getCables Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getCables.html Example response body for the GET /getCables endpoint, showing a single cable object with fields such as ID, Name, ClassName, location0, location1, Length, and features. ```json [ { "ID": "Build_PowerLine_C_2147471908", "Name": "Power Line", "ClassName": "Build_PowerLine_C", "location0": { "x": -68843.069974126644, "y": 253515.77800282693, "z": -2959.982177734375 }, "location1": { "x": -70489.995483398438, "y": 254030, "z": -2912.8187255859375 }, "Length": 1725.9815673828125, "features": { "properties": { "name": "Power Line", "type": "Power Line" }, "geometry": { "coordinates": [ [ -68843.069974126644, 253515.77800282693, -2959.982177734375 ], [ -70489.995483398438, 254030, -2912.8187255859375 ] ], "type": "LineString" } } } ] ``` -------------------------------- ### PowerShell launch arguments for window positioning and resolution Source: https://docs.ficsit.app/satisfactory-modding/latest/Development/TestingResources.html Example launch arguments for two game instances to position windows side-by-side on a 1920x1080 screen, using -WinX, -WinY, ResX, and ResY. ```powershell $Args1 = "-EpicPortal", "-NoSteamClient", '-Username="'+$Username1+'"', "-WinX=0", "-WinY=32", "ResX=960", "ResY=1040" $Args2 = "-EpicPortal", "-NoSteamClient", '-Username="'+$Username2+'"', "-WinX=960", "-WinY=32", "ResX=960", "ResY=1040" ``` -------------------------------- ### GET /getModList Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getModList.html API documentation for the GET /getModList endpoint that retrieves a list of all installed mods. ```APIDOC ## [GET] /getModList ### Description Retrieves a list of all installed mods. ### Method GET ### Endpoint `GET http://localhost:8080/getModList` ### Parameters No parameters are required. ### Response #### Success Response (200) - **Name** (String) - Name of the Mod. - **SMRName** (String) - Name of Mod as Mod Repository and Unreal Engine see it as. - **Version** (String) - Version (SemVer format) of the Mod. - **Description** (String) - Description of the Mod. - **DocsURL** (String) - Docs URL of the Mod. - **SupportURL** (String) - Support URL of the Mod. - **CreatedBy** (String) - Author of the Mod. - **RemoteVersionRange** (String) - Acceptable Version Range of other client/server mod versions. - **RequiredOnRemote** (Boolean) - Is the Mod required on both the server and client. #### Response Example ```json [ { "Name": "Ficsit Remote Monitoring", "SMRName": "FicsitRemoteMonitoring", "Version": "1.4.0", "Description": "Statistical and GeoLocation Monitoring for Satisfactory", "DocsURL": "https://docs.ficsit.app/ficsitremotemonitoring/latest/index.html", "SupportURL": "https://github.com/porisius/FicsitRemoteMonitoring", "CreatedBy": "Porisius", "RemoteVersionRange": ">=1.4.0", "RequiredOnRemote": false }, { "Name": "Satisfactory", "SMRName": "FactoryGame", "Version": "415558.0.0", "Description": "", "DocsURL": "", "SupportURL": "http://www.coffeestainstudios.com", "CreatedBy": "Coffee Stain Studios AB", "RemoteVersionRange": "*", "RequiredOnRemote": false }, { "Name": "Satisfactory Mod Loader", "SMRName": "SML", "Version": "3.11.1", "Description": "Mod loading and compatibility API for Satisfactory", "DocsURL": "https://docs.ficsit.app", "SupportURL": "https://discord.ficsit.app", "CreatedBy": "SML Team", "RemoteVersionRange": ">=3.11.1", "RequiredOnRemote": true } ] ``` ``` -------------------------------- ### filesystem.initFileSystem Source: https://docs.ficsit.app/ficsit-networks/latest/lua/api/KernelModule.html Trys to mount the system DevDevice to the given location. ```APIDOC ## filesystem.initFileSystem(path: string) -> boolean ### Description Trys to mount the system DevDevice to the given location. ### Parameters - **path** (string) - Required - Path to the mountpoint where the dev device should get mounted to ### Return Values - **success** (boolean) - Returns if it was able to mount the DevDevice ``` -------------------------------- ### Example download_depot for Update 1.1 Source: https://docs.ficsit.app/satisfactory-modding/latest/faq.html Example command to download Update 1.1 of Satisfactory using SteamCMD. The manifest ID corresponds to the release on 19 December 2025. ```text download_depot 526870 526871 1858885725837604498 ``` -------------------------------- ### GET /getPowerSlug Example Response Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getPowerSlug.html Example response body returned by the GET /getPowerSlug endpoint. It is a JSON array of power slug objects, each containing ID, Name, ClassName, location (with x, y, z and rotation), and features (with properties and geometry). ```json [ { "ID": "BP_Crystal27_27", "Name": "Blue Power Slug", "ClassName": "BP_Crystal_C", "location": { "x": -54543.35546875, "y": 270830.1875, "z": -1451.72412109375, "rotation": 232.89628601074219 }, "features": { "properties": { "name": "Blue Power Slug", "type": "Power Slug" }, "geometry": { "coordinates": { "x": -54543.35546875, "y": 270830.1875, "z": -1451.72412109375 }, "type": "Point" } } }, { "ID": "BP_Crystal3_3", "Name": "Blue Power Slug", "ClassName": "BP_Crystal_C", "location": { "x": -64958.64453125, "y": 268214, "z": -3016.97998046875, "rotation": 115.72634887695312 }, "features": { "properties": { "name": "Blue Power Slug", "type": "Power Slug" }, "geometry": { "coordinates": { "x": -64958.64453125, "y": 268214, "z": -3016.97998046875 }, "type": "Point" } } } ] ``` -------------------------------- ### Download Wwise SDK with wwise-cli Source: https://docs.ficsit.app/satisfactory-modding/latest/Development/Linux/LinuxSetup.html Downloads the required Wwise SDK version (2023.1.14.8770) with the specified filters for packages and deployment platforms. Run this command in your terminal before integrating Wwise into the starter project. ```bash ./wwise-cli download --sdk-version "2023.1.14.8770" --filter Packages=SDK --filter DeploymentPlatforms=Windows_vc160 --filter DeploymentPlatforms=Windows_vc170 --filter DeploymentPlatforms=Linux --filter DeploymentPlatforms= --filter Packages=Authoring ``` -------------------------------- ### GET /getTruckStation Example Response Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getTruckStation.html Example response body returned by the GET /getTruckStation endpoint. Shows a single truck station object with fields such as ID, Name, ClassName, location, BoundingBox, ColorSlot, inventory arrays, features, and PowerInfo. Note that the example includes a StationStatus of "Error" and a LoadMode of "Idle". ```json [ { "ID": "Build_TruckStation_C_2147108415", "Name": "Truck Station", "ClassName": "Build_TruckStation_C", "location": { "x": 137500, "y": 222000, "z": -4899.98885664623, "rotation": 90 }, "BoundingBox": { "min": { "x": 136900, "y": 220700, "z": -4899.98885664623 }, "max": { "x": 138600, "y": 222200, "z": -3654.98885664623 } }, "ColorSlot": { "PrimaryColor": "FA954900", "SecondaryColor": "5F668C00" }, "DockVehicleCount": 0, "LoadMode": "Idle", "TransferRate": 0, "MaxTransferRate": 0, "StationStatus": "Error", "FuelRate": 0, "Inventory": [ { "Name": "Encased Industrial Beam", "ClassName": "Desc_SteelPlateReinforced_C", "Amount": 54, "MaxAmount": 100 } ], "FuelInventory": [ { "Name": "Solid Biofuel", "ClassName": "Desc_Biofuel_C", "Amount": 171, "MaxAmount": 200 } ], "features": { "properties": { "name": "Truck Station", "type": "Truck Station" }, "geometry": { "coordinates": { "x": 137500, "y": 222000, "z": -4899.98885664623 }, "type": "Point" } }, "PowerInfo": { "CircuitGroupID": -1, "CircuitID": -1, "FuseTriggered": false, "PowerConsumed": 0, "MaxPowerConsumed": 0 } } ] ``` -------------------------------- ### GET /getTapes response body example Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getTapes.html Example response returned by the `GET /getTapes` endpoint. Shows a tape object with ID, Name, ClassName, and a Songs array containing SongName and ArtistName pairs. Use this to verify the expected JSON structure when consuming the API. ```json [ { "ID": "Tape_WorstOfGoat_C", "Name": "Worst of Goat Simulator", "ClassName": "Tape_WorstOfGoat_C", "Songs": [ { "SongName": "Desert Chill", "ArtistName": "GSTFS" }, { "SongName": "Goat Chill", "ArtistName": "GSTFS" }, { "SongName": "Goat Storm", "ArtistName": "GSTFS" }, { "SongName": "Goatshire", "ArtistName": "GSTFS" }, { "SongName": "Waste Of Space", "ArtistName": "GSTFS" } ] } ] ``` -------------------------------- ### Example Starter Simple Recipe (CL_Recipe JSON) Source: https://docs.ficsit.app/contentlib/latest/Tutorials/CreateRecipe.html A basic recipe that converts 1 Coal into 10 Biofuel in the Constructor and Workbench, unlocked by Schematic_1-1. Requires the internal names of ingredients, products, buildings, and schematics. ```json { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_Recipe.json", "Name": "BioFuel", "Ingredients": [ { "Item": "Desc_Coal", "Amount": 1 } ], "Products": [ { "Item": "Desc_Biofuel", "Amount": 10 } ], "ManufacturingDuration": 1, "ProducedIn": [ "Build_ConstructorMk1", "BP_WorkBenchComponent" ], "UnlockedBy": [ "Schematic_1-1" ], "RequireItemValidation": true } ``` -------------------------------- ### Paint example using GPU and Screen Source: https://docs.ficsit.app/ficsit-networks/latest/lua/examples/paint.html Use this Lua program to create a simple paint application on a Ficsit Networks computer. It requires a Lua CPU, RAM, a Screen Driver, and a GPU T1, and it uses the first available GPU and screen. The program draws a color palette at the bottom and lets you draw by clicking and dragging the mouse; it listens for OnMouseDown, OnMouseUp, and OnMouseMove events. ```lua -- get first T1 GPU avialable from PCI-Interface local gpu = computer.getPCIDevices(classes.GPUT1)[1] if not gpu then error("No GPU T1 found!") end -- get first Screen-Driver available from PCI-Interface local screen = computer.getPCIDevices(classes.FINComputerScreen)[1] -- if no screen found, try to find large screen from component network if not screen then local comp = component.findComponent(classes.Screen)[1] if not comp then error("No Screen found!") end screen = component.proxy(comp) end -- setup gpu event.listen(gpu) gpu:bindScreen(screen) w, h = gpu:getSize() -- clear background gpu:setBackground(0,0,0,0) gpu:fill(0, 0, w, h, " ", " ") -- setup color palette colors = {{0,0,0,0},{0,0,0,0},{1,0,0,1},{1,0,0,1},{0,1,0,1},{0,1,0,1},{0,0,1,1},{0,0,1,1},{1,1,1,1},{1,1,1,1}} -- draw color palette for i, color in ipairs(colors) do gpu:setBackground(color[1], color[2], color[3], color[4]) gpu:setText(i - 1, h - 1, " ") end gpu:setBackground(1,1,1,1) -- draw loop isDown = false while true do e, s, x, y = event.pull() if e == "OnMouseDown" then isDown = true -- is press on color palette, select color if y == h - 1 and x < #colors then color = colors[x + 1] gpu:setBackground(color[1], color[2], color[3], color[4]) end elseif e == "OnMouseUp" then isDown = false elseif e == "OnMouseMove" and not (y == h - 1 and x < #colors) and isDown then gpu:setText(x, y, " ") end gpu:flush() end ``` -------------------------------- ### Example Response for GET /getPowerUsage Source: https://docs.ficsit.app/ficsitremotemonitoring/latest/json/Read/getPowerUsage.html Example response body for the GET /getPowerUsage endpoint, showing an array of buildings with power usage details. Each object includes ID, Name, ClassName, location (x, y, z, rotation), and PowerInfo (CircuitGroupID, CircuitID, FuseTriggered, PowerConsumed, MaxPowerConsumed). ```json [ { "ID": "Build_OilRefinery_C_2147345255", "Name": "Refinery", "ClassName": "Build_OilRefinery_C", "location": { "x": 151500, "y": 214300, "z": -7499.9814453125, "rotation": 90 }, "PowerInfo": { "CircuitGroupID": -1, "CircuitID": -1, "FuseTriggered": false, "PowerConsumed": 0, "MaxPowerConsumed": 0 } }, { "ID": "Build_OilRefinery_C_2147345106", "Name": "Refinery", "ClassName": "Build_OilRefinery_C", "location": { "x": 150500, "y": 214300, "z": -7499.9814453125, "rotation": 90 }, "PowerInfo": { "CircuitGroupID": -1, "CircuitID": -1, "FuseTriggered": false, "PowerConsumed": 0, "MaxPowerConsumed": 0 } } ] ```