CubeCoders / AMPTemplates

For the AMP community to share Generic Module templates.
92 stars 277 forks source link

Icarus Dedicated Server Add Request #232

Closed Alybee117 closed 1 year ago

Alybee117 commented 1 year ago

Hello was directed to this form, from the discord server.

Now that Icarus has released a Dedicated server branch would it be possible to add this too the list? thank you very much.

https://github.com/RocketWerkz/IcarusDedicatedServer/wiki/Server-Setup

Greelan commented 1 year ago

I can add this in the next day or so. In the meantime can you provide log lines from the dedicated server that show when a user joins the server and then leaves?

Alybee117 commented 1 year ago

Im actually struggling to get the server to run myself.

Greelan commented 1 year ago

Ah, lol, well when I have the template prepared you can test it on that. I don't intend buying the game myself

Greelan commented 1 year ago

I've got the template working, at least to create and launch a prospect. Loading existing saves however is an issue - the server throws an error. I've asked on the Icarus discord about it

Any chance you can find the file prospectlist.json that apparently is installed with the client and gives a list of all the prospect types? I want to add them to the UI for easy creation of prospects

Greelan commented 1 year ago

OK, working template is in Greelan/AMPTemplates:dev.

I've clarified that the issue with loading existing saves was because of data corruption caused by the server being shutdown by AMP without a clean exit. Unfortunately the only method that works reliably in AMP to shutdown the server does not trigger a clean shutdown. The issue can be avoided by the server returning to the lobby first - the return to lobby triggers a proper save, and therefore AMP's subsequent untidy exit does not cause data issues.

@Alybee117 test it out and let me know feedback. Also, as mentioned, getting a copy of prospectlist.json would be very helpful, as then I can populate the list in the UI rather than have people guessing what prospect types are valid, given the format required is very specific.

gkuba commented 1 year ago

Re-installing Icarus now I'll get you the file and can help with testing

gkuba commented 1 year ago

I do not see that file in the game dir or in the %localappdata%/Icarus dir. I'll keep poking around though.

Greelan commented 1 year ago

Hmm. I've asked on their discord for the location. Someone mentioned it literally 2 days ago when another person asked about the prospect types

Greelan commented 1 year ago

Somewhat unhelpfully, I've been told the answer to get the list is "datamining", to discover the internal names for the prospect types... Not a very practical setup for the dedicated server

gkuba commented 1 year ago

Ok I found more info. For this to work they will also have to opt into and run the Dedilive branch on the client side.

We will want to put a note with this info as well until its fully live.

Pulling down your configs now to see if its in the dedicated server dirs. If its not there I may see if I can unpack the game files to get that list. Also if its easier you can msg me in discord I allowed the server.

Greelan commented 1 year ago

So it seems the long way around is to run the server, connect with a client to the lobby, select a prospect in the lobby UI to create it, then check in the ServerSettings.ini for the last prospect created. Then do this again for each option....

gkuba commented 1 year ago

hehe figured. I may just look up my god old unpack unreal tools again and see if its in there first.

Greelan commented 1 year ago

I like your thinking. If we can get internal name and display name, we are golden

gkuba commented 1 year ago

Tada!! image

Getting you a cleaned up list of just the names now.

gkuba commented 1 year ago

prospectlist.txt

This should be all of them.

gkuba commented 1 year ago

Looks like they did the same thing I did over on the Icarus discord. Let me get you a better one with mission name tied to internal name.

gkuba commented 1 year ago

This list is broken into their in game GUI name and internal name and put into the categories listed in game.

Mission Name    |   Prospect Name

# Outposts
Styx                OpenWorld_Styx
ARCWOOD             Outpost002_Forest
ICEHOLM             Outpost003_Arctic
HOLDFAST            Outpost005_Forest
Olympus             Outpost006_Olympus

# Construction
HIGHRISE            STYX_A_Construction
ALCAZAR             STYX_C_Construction
HOMESTEAD           Tier1_Forest_Construction
PYRAMID             Tier2_Canyon_Construction_0
INFLUX              Tier2_Glacier_Construction_0
LIFE LINE           Tier3_RiverLands_Construction
SANDBOX             Tier4_Desert_Construction_0

# Delivery
RENDEZVOUS          STYX_D_Delivery
FIRE WALK           Tier3_RiverLands_Delivery

# Expedition
OMPHALOS            STYX_A_Expedition
MAELSTROM           STYX_B_Expedition
RICOCHET            STYX_C_Expedition
ZEPHYR              STYX_D_Expedition
VERTIGO             STYX_E_Expedition
DRY RUN             Tier2_Canyon_Expedition_0
ICESTORM            Tier2_Glacier_Expedition_0
WATERFALL           Tier3_RiverLands_Expedition_0
AVALANCHE           Tier4_Arctic_Expedition_0
EL CAMINO           Tier4_Desert_Expedition_0

# Exploration
HEADLONG            STYX_A_Exploration
ADAGIO              STYX_B_Exploration
KISMET              STYX_C_Exploration
CAVALCADE           STYX_D_Exploration
DUST                STYX_E_Exploration
ARGOS               Tier1_Forest_Exploration_0
SANDBLAST           Tier2_Canyon_Exploration_0
HIGH WIRE           Tier2_Glacier_Exploration_0
EDELWEISS           Tier3_RiverLands_Exploration_0
TUNDRA              Tier4_Arctic_Exploration_0
PROMISED LAND       Tier4_Desert_Exploration_0
SPIRIT WALK         Tier5_Omni_Exploration_0

# Extermination
HUSK                STYX_A_Extermination
HALCYON             STYX_B_Extermination
BALLISTIC           STYX_C_Extermination
AUGMENTATION        STYX_C_Extermination2
LUPINE              STYX_D_Extermination
KILL LIST           Tier1_Forest_Extermination_0
WET WORK            Tier3_RiverLands_Extermination_0
CLEAN UP            Tier4_Arctic_Extermination_0
DUST UP             Tier4_Desert_Extermination_0
LOOSE ENDS          Tier4_Desert_Extermination_2

# Extraction
DEEP VEIN           Tier2_Glacier_Extraction_0
MERIDIAN            Tier3_RiverLands_Extraction
PAYDAY              Tier4_Arctic_Extraction_0

# Hydroponics
AGRICULTURE         Tier1_Farming

# Recon
BEACHHEAD           Tier1_Forest_Recon_0

# Recovery
FORSAKEN            Tier1_Forest_Defence
FIELD TEST          Tier2_Canyon_Recovery_0
BROKEN ARROW        Tier2_Glacier_Recovery_0
SNOWCRASH           Tier4_Arctic_Recovery_0
CONCEALMENT         Tier4_Desert_Recovery
VOYAGER             Tier5_Omni_Recovery

# Research
GOSSAMER            STYX_D_Research
ABYSS               STYX_D_Research_2
FLATLINE            STYX_E_Research
STRANGE HARVEST     Tier1_Forest_Research_0
BIOSHOCK            Tier2_Canyon_Research_0
RESURGENCE          Tier2_Glacier_Research_0
UPLIFT              Tier3_RiverLands_Research_0
NIGHTWATCH          Tier4_Desert_Research_0
CARAPACE            Tier4_Desert_Research_2
UNEARTHED           Tier5_Omni_Research
CRYOGENIC           Tier5_Omni_Research_2

# Scan
LIVEWIRE            Tier1_Forest_Scan_0
DEATH RAY           Tier2_Canyon_Scan_0
SEARCHLIGHT         Tier2_Glacier_Scan_0
INCURSION           Tier3_RiverLands_Scan_0
SNOWBLIND           Tier4_Arctic_Scan_0
SEVEN PILLARS       Tier4_Desert_Scan_0

# Stockpile
OPULENCE            STYX_B_Stockpile
AGRICULTURE         Tier1_Forest_Stockpile
SPELUNKING          Tier1_Forest_WS_Stockpile
SOLID METAL         Tier2_Canyon_Stockpile
PRESERVATION        Tier2_Canyon_Stockpile2
RAMP UP             Tier3_RiverLands_Stockpile_0
BIG SHOT            Tier3_RiverLands_Stockpile_2
ADVANCED ORDER      Tier4_Arctic_Stockpile

# Survey
CRESCENDO           STYX_E_Survey
HEADSTONE           Tier1_Forest_Survey_0
SANDY BRIDGES       Tier2_Canyon_LongSurvey_0
SPIRIT LEVEL        Tier2_Canyon_Survey_0
ICE LINE            Tier2_Glacier_Survey_0
CLUSTERED           Tier3_RiverLands_Survey_0
STATION TO STATION  Tier4_Arctic_Survey_0
MIGRATING SANDS     Tier4_Desert_Survey
NIGHTFALL           Tier5_Omni_Olympus

# Training Tutorial
POTSHOT             Tier1_Forest_Range
Greelan commented 1 year ago

So that was easy! My repo now updated :)

Thanks for the input!

gkuba commented 1 year ago

Np exactly the stuff I like to do. Tinker! :)

Greelan commented 1 year ago

I've just ordered it though alphabetically. That seemed the best but let me know if you think otherwise

Greelan commented 1 year ago

That is (by friendly name):

            "STYX_D_Research_2":"Abyss: Research",
            "STYX_B_Exploration":"Adagio: Exploration",
            "Tier4_Arctic_Stockpile":"Advanced Order: Stockpile",
            "Tier1_Farming":"Agriculture: Hydroponics",
            "Tier1_Forest_Stockpile":"Agriculture: Supply Stockpile",
            "STYX_C_Construction":"Alcazar: Construction",
            "Outpost002_Forest":"Arcwood: Outpost",
            "Tier1_Forest_Exploration_0":"Argos: Exploration",
            "STYX_C_Extermination2":"Augmentation: Extermination",
            "Tier4_Arctic_Expedition_0":"Avalanche: Expedition",
            "STYX_C_Extermination":"Ballistic: Extermination",
            "Tier1_Forest_Recon_0":"Beachhead: Recon",
            "Tier3_RiverLands_Stockpile_2":"Big Shot: Stockpile",
            "Tier2_Canyon_Research_0":"Bioshock: Bio-Research",
            "Tier2_Glacier_Recovery_0":"Broken Arrow: Recovery",
            "Tier4_Desert_Research_2":"Carapace: Research",
            "STYX_D_Exploration":"Cavalcade: Exploration",
            "Tier4_Arctic_Extermination_0":"Clean Up: Extermination",
            "Tier3_RiverLands_Survey_0":"Clustered: Extended Survey",
            "Tier4_Desert_Recovery":"Concealment: Recovery",
            "STYX_E_Survey":"Crescendo: Survey",
            "Tier5_Omni_Research_2":"Cryogenic: Research",
            "Tier2_Canyon_Scan_0":"Death Ray: Scan",
            "Tier2_Glacier_Extraction_0":"Deep Vein: Extraction",
            "Tier2_Canyon_Expedition_0":"Dry Run: Expedition",
            "Tier4_Desert_Extermination_0":"Dust Up: Extermination",
            "STYX_E_Exploration":"Dust: Exploration",
            "Tier3_RiverLands_Exploration_0":"Edelweiss: Exploration",
            "Tier4_Desert_Expedition_0":"El Camino: Expedition",
            "Tier2_Canyon_Recovery_0":"Field Test: Recovery",
            "Tier3_RiverLands_Delivery":"Fire Walk: Delivery",
            "STYX_E_Research":"Flatline: Research",
            "Tier1_Forest_Defence":"Forsaken: Recovery",
            "STYX_D_Research":"Gossamer: Research",
            "STYX_B_Extermination":"Halcyon: Extermination",
            "STYX_A_Exploration":"Headlong: Exploration",
            "Tier1_Forest_Survey_0":"Headstone: Geo-Survey",
            "Tier2_Glacier_Exploration_0":"High Wire: Exploration",
            "STYX_A_Construction":"Highrise: Construction",
            "Outpost005_Forest":"Holdfast: Outpost",
            "Tier1_Forest_Construction":"Homestead: Construction",
            "STYX_A_Extermination":"Husk: Extermination",
            "Tier2_Glacier_Survey_0":"Ice Line: Survey",
            "Outpost003_Arctic":"Iceholm: Outpost",
            "Tier2_Glacier_Expedition_0":"Icestorm: Expedition",
            "Tier3_RiverLands_Scan_0":"Incursion: Scan",
            "Tier2_Glacier_Construction_0":"Influx: Construction",
            "Tier1_Forest_Extermination_0":"Kill List: Extermination",
            "STYX_C_Exploration":"Kismet: Exploration",
            "Tier3_RiverLands_Construction":"Life Line: Construction",
            "Tier1_Forest_Scan_0":"Livewire: Terrain Scan",
            "Tier4_Desert_Extermination_2":"Loose Ends: Extermination",
            "STYX_D_Extermination":"Lupine: Extermination",
            "STYX_B_Expedition":"Maelstrom: Expedition",
            "Tier3_RiverLands_Extraction":"Meridian: Extraction",
            "Tier4_Desert_Survey":"Migrating Sands: Survey",
            "Tier5_Omni_Olympus":"Nightfall: Survey",
            "Tier4_Desert_Research_0":"Nightwatch: Geo-Research",
            "Outpost006_Olympus":"Olympus",
            "STYX_A_Expedition":"Omphalos: Expedition",
            "STYX_B_Stockpile":"Opulence: Stockpile",
            "Tier4_Arctic_Extraction_0":"Payday: Extraction",
            "Tier1_Forest_Range":"Potshot: Training",
            "Tier2_Canyon_Stockpile2":"Preservation: Stockpile",
            "Tier4_Desert_Exploration_0":"Promised Land: Exploration",
            "Tier2_Canyon_Construction_0":"Pyramid: Construction",
            "Tier3_RiverLands_Stockpile_0":"Ramp Up: Stockpile",
            "STYX_D_Delivery":"Rendezvous: Delivery",
            "Tier2_Glacier_Research_0":"Resurgence: Bio-Research",
            "STYX_C_Expedition":"Ricochet: Expedition",
            "Tier2_Canyon_Exploration_0":"Sandblast: Exploration",
            "Tier4_Desert_Construction_0":"Sandbox: Construction",
            "Tier2_Canyon_LongSurvey_0":"Sandy Bridges: Extended Survey",
            "Tier2_Glacier_Scan_0":"Searchlight: Scan",
            "Tier4_Desert_Scan_0":"Seven Pillars: Scan",
            "Tier4_Arctic_Scan_0":"Snowblind: Scan",
            "Tier4_Arctic_Recovery_0":"Snowcrash: Recovery",
            "Tier2_Canyon_Stockpile":"Solid Metal: Hard Stockpile",
            "Tier1_Forest_WS_Stockpile":"Spelunking: Assisted Stockpile",
            "Tier2_Canyon_Survey_0":"Spirit Level: Survey",
            "Tier5_Omni_Exploration_0":"Spirit Walk: Exploration",
            "Tier4_Arctic_Survey_0":"Station To Station: Extended Survey",
            "Tier1_Forest_Research_0":"Strange Harvest: Bio-Research",
            "OpenWorld_Styx":"Styx",
            "Tier4_Arctic_Exploration_0":"Tundra: Exploration",
            "Tier5_Omni_Research":"Unearthed: Research",
            "Tier3_RiverLands_Research_0":"Uplift: Bio-Research",
            "STYX_E_Expedition":"Vertigo: Expedition",
            "Tier5_Omni_Recovery":"Voyager : Recovery",
            "Tier3_RiverLands_Expedition_0":"Waterfall: Expedition",
            "Tier3_RiverLands_Extermination_0":"Wet Work: Extermination",
            "STYX_D_Expedition":"Zephyr: Expedition"
gkuba commented 1 year ago

Alpha works. I just did this to break them into their categories to make searching a little easier.

Greelan commented 1 year ago

Maybe better like Outposts:Styx, Outposts:Arcwood etc?

gkuba commented 1 year ago

Yeah as they will be looking for the in game name tbh.

Greelan commented 1 year ago

K, let me play with it

gkuba commented 1 year ago

Np, when you are done I'll re-pull the repo and give it a test.

Greelan commented 1 year ago

OK, that's now done.

Only question on the prospect types is whether I should allow for a custom setting, eg if mods are allowed/contemplated - so someone could include the internal name of their own prospect?

Also, user join and leave log lines from AMP would be great if possible. Thanks.

gkuba commented 1 year ago

I'll see what I can get ya

I doubt Mods will be officially supported just like with DayZ.

gkuba commented 1 year ago

So when it starts up even with a prospect selected it seems to go to the lobby which is fine. There we can load / create a new prospect. So that list may not even be needed at all.

[2022.11.21-10.01.11:587][601]LogIcarusSession: Icarus Session Node Exit - Success
[2022.11.21-10.01.11:587][601]LogIcarusGameModeSurvival: Display: OnUpdateUnrealSessionSuccess
[2022.11.21-10.01.11:587][601]LogOnlineProspect: RPC: GetProspect response - Succeeded
03:01:27
[2022.11.21-10.01.27:086][ 69]LogIcarusPlayerController: Display: ServerLeaveProspectSession - LeaveProspectSessionType: ReturnToCharacterSelect
[2022.11.21-10.01.27:086][ 69]LogIcarusPlayerController: Display: ServerFinaliseLeaveProspectSession - ServerPendingLeaveProspectSession: ReturnToCharacterSelect | LeaveProspectSessionType: ReturnToCharacterSelect
[2022.11.21-10.01.27:086][ 69]LogIcarusPlayerController: Display: OnRep_ReplicatedLeftProspectSession - ReplicatedLeftProspectSession: ReturnToCharacterSelect
[2022.11.21-10.01.27:316][ 76]LogNet: UChannel::ReceivedSequencedBunch: Bunch.bClose == true. ChIndex == 0. Calling ConditionalCleanUp.
[2022.11.21-10.01.27:316][ 76]LogNet: UChannel::CleanUp: ChIndex == 0. Closing connection. [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 76561198051191700:19132, Name: SteamNetConnection_2147479445, Driver: GameNetDriver SteamNetDriver_2147481826, IsServer: YES, PC: BP_IcarusPlayerControllerSurvival_C_2147479438, Owner: BP_IcarusPlayerControllerSurvival_C_2147479438, UniqueId: Steam:UNKNOWN [0x1100001056B6B94]
[2022.11.21-10.01.27:316][ 76]LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 76561198051191700:19132, Name: SteamNetConnection_2147479445, Driver: GameNetDriver SteamNetDriver_2147481826, IsServer: YES, PC: BP_IcarusPlayerControllerSurvival_C_2147479438, Owner: BP_IcarusPlayerControllerSurvival_C_2147479438, UniqueId: Steam:UNKNOWN [0x1100001056B6B94], Channels: 57, Time: 2022.11.21-10.01.27
[2022.11.21-10.01.27:316][ 76]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 76561198051191700:19132, Name: SteamNetConnection_2147479445, Driver: GameNetDriver SteamNetDriver_2147481826, IsServer: YES, PC: BP_IcarusPlayerControllerSurvival_C_2147479438, Owner: BP_IcarusPlayerControllerSurvival_C_2147479438, UniqueId: Steam:UNKNOWN [0x1100001056B6B94]
[2022.11.21-10.01.27:348][ 77]LogConnectedPlayers: Display: RemoveConnectedPlayer - UserId: 76561198051191700
[2022.11.21-10.01.27:348][ 77]LogConnectedPlayers: Verbose: OnRep_ConnectedPlayers
[2022.11.21-10.01.27:353][ 77]LogIcarusGameModeSurvival: -------- Server is now empty --------
[2022.11.21-10.01.27:353][ 77]LogOnline: STEAM: Removing P2P Session Id: UNKNOWN [0x1100001056B6B94], Channel: 19132, IdleTime: 0.038
03:01:28
[2022.11.21-10.01.28:864][124]LogOnline: STEAM: Closing channel 19132 with user 76561198051191700
[2022.11.21-10.01.28:867][124]LogOnline: STEAM: 76561198051191700 has been removed.
03:02:50
[2022.11.21-10.02.50:787][622]LogOnline: STEAM: Adding P2P connection information with user 76561198051191700 (Name: UNKNOWN [0x1100001056B6B94])
03:02:54
[2022.11.21-10.02.54:343][729]LogNet: NotifyAcceptingConnection accepted from: 76561198051191700:19132
[2022.11.21-10.02.54:343][729]LogNet: NotifyAcceptingConnection accepted from: 76561198051191700:19132
[2022.11.21-10.02.54:344][729]LogNet: NotifyAcceptingConnection accepted from: 76561198051191700:19132
[2022.11.21-10.02.54:344][729]LogNet: NotifyAcceptingConnection accepted from: 76561198051191700:19132
[2022.11.21-10.02.54:376][730]LogNet: NotifyAcceptingConnection accepted from: 76561198051191700:19132
[2022.11.21-10.02.54:376][730]LogNet: Server accepting post-challenge connection from: 76561198051191700:19132
[2022.11.21-10.02.54:377][730]PacketHandlerLog: Loaded PacketHandler component: OnlineSubsystemSteam.SteamAuthComponentModuleInterface ()
[2022.11.21-10.02.54:377][730]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2022.11.21-10.02.54:377][730]LogOnline: STEAM: Adding user 76561198051191700:19132 from RegisterConnection
[2022.11.21-10.02.54:377][730]LogNet: NotifyAcceptedConnection: Name: Terrain_016, TimeStamp: 11/21/22 02:02:54, [UNetConnection] RemoteAddr: 76561198051191700:19132, Name: SteamNetConnection_2147477781, Driver: GameNetDriver SteamNetDriver_2147481826, IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID
[2022.11.21-10.02.54:377][730]LogNet: AddClientConnection: Added client connection: [UNetConnection] RemoteAddr: 76561198051191700:19132, Name: SteamNetConnection_2147477781, Driver: GameNetDriver SteamNetDriver_2147481826, IsServer: YES, PC: NULL, Owner: NULL, UniqueId: INVALID
[2022.11.21-10.02.54:478][731]LogOnline: STEAM: AUTH HANDLER: Sending auth result to user 76561198051191700 with flag success? 1
[2022.11.21-10.02.54:511][732]LogNet: NotifyAcceptingChannel Control 0 server World /Game/Maps/Terrain_016_OLY/Terrain_016.Terrain_016: Accepted
[2022.11.21-10.02.54:511][732]LogNet: Remote platform little endian=1
[2022.11.21-10.02.54:511][732]LogNet: This platform little endian=1
[2022.11.21-10.02.54:545][733]LogNet: Login request: ?password=1234?Name=Katala Swiftwind userId: Steam:UNKNOWN [0x1100001056B6B94] platform: Steam
03:02:58
[2022.11.21-10.02.58:374][849]LogNet: Client netspeed is 640000
[2022.11.21-10.02.58:374][849]LogNet: Join request: /Game/Maps/DedicatedServerEntry?password=1234?Name=Katala Swiftwind?SplitscreenCount=1
[2022.11.21-10.02.58:384][849]AnimBlueprintLog: Warning: SLOTNODE: 'ActionMontage' in animation instance class CHA_3RD_MAL_01_AnimBP_C already exists. Remove duplicates from the animation graph for this class.
[2022.11.21-10.02.58:396][849]LogActor: Warning: DDGIVolume /Game/Maps/Terrain_016_OLY/Terrain_016.Terrain_016:PersistentLevel.DDGIVolume_2147477733 has natively added scene component(s), but none of them were set as the actor's RootComponent - picking one arbitrarily
[2022.11.21-10.02.58:397][849]LogIcarusGameModeSurvival: -------- Server now has players ---------
[2022.11.21-10.02.58:397][849]LogNet: Join succeeded: Katala Swiftwind
[2022.11.21-10.02.58:409][850]LogIcarusGameStateRecording: Display: RecordToProspectSaveState - NumRecorders: 526
[2022.11.21-10.02.58:440][850]LogIcarusGameStateRecording: Display: RecordToProspectSaveState complete
[2022.11.21-10.02.58:440][850]LogIcarusGameModeSurvival: Verbose: RequestUpdateProspectState
[2022.11.21-10.02.58:475][850]LogIcarusGameModeSurvival: OnUpdateProspectSuccess
03:02:59
[2022.11.21-10.02.59:381][877]LogWeatherController: Display: Katala Swiftwind just entered new biome: Arctic
03:03:02
[2022.11.21-10.03.02:620][975]LogConnectedPlayers: Display: AddConnectedPlayer - UserId: 76561198051191700 | PlayerName: Katala Swiftwind
[2022.11.21-10.03.02:620][975]LogConnectedPlayers: Verbose: OnRep_ConnectedPlayers
[2022.11.21-10.03.02:620][975]LogConnectedPlayers: Verbose: OnRep_ConnectedPlayers ConnectedPlayer at index [0] - PlayerID: 76561198051191700_-1 | Initialised: false
Greelan commented 1 year ago

It should take you right through to create the prospect if "Create and launch prospect" is selected, AND if the save name does not already exist.

gkuba commented 1 year ago

it did. It also takes you right to the lobby after a restart for you to load or create a new one. I'm still playing around with it.

Greelan commented 1 year ago

Gotcha. There is a timeout (default 5 mins) that takes it back to the lobby if no-one connects in that time. Can be set to -1 for the prospect to run indefinitely (paused until someone joins), but if the server is shutdown in AMP without having returned to the lobby, data loss/corruption will occur - either the prospect save will be unusable, or it won't have the last save

Greelan commented 1 year ago

Coz OS_CLOSE doesn't cause a clean shutdown (and other methods like CtrlC don't work)

gkuba commented 1 year ago

So far even with the restart it reloaded just fine with no corruption from what I can tell. So "hopefully" that won't actually be an issue.

Greelan commented 1 year ago

Try this, launch a new prospect, then shutdown the server in AMP before the return to lobby timeout. On next start, with Load prospect or Resume prospect selected, the prospect won't load (will stay in the lobby). You can see in the json file for the prospect that the ProspectBlob section is unpopulated

gkuba commented 1 year ago

Clicking resume doesn't work correct but clicking Join and going back to the server it gives you the option to load the save and that works fine.

Greelan commented 1 year ago

You mean in the lobby UI? I am talking about through AMP's UI

gkuba commented 1 year ago

When you load / create a new prospect you do get a "network error" and kicked out but you just reconnect and everything is fine. It seems like it doesn't transition from lobby to in prospect very well yet.

gkuba commented 1 year ago

Changing it in AMP UI to load works also but honestly its probably best to just have them use the in game server load option as that way there is no confusion. From what I can tell that is the intended way to do it.

Greelan commented 1 year ago

Not sure about whether intended, given that they give 3 additional ways to do it with the dedicated server - command line, ini file, and RCON (console). But eventually they may streamline this

gkuba commented 1 year ago

I can see the need to load via one of those ways if you set an auto-restart and make it never go to the lobby. Otherwise you have to reload from the lobby UI anyways.

gkuba commented 1 year ago

image image

gkuba commented 1 year ago

Everything I've tested seems to work. I haven't found any issues. I'll poke around more later I'm going to get a few hours of sleep. Let me know if you need me to test something specific.

Greelan commented 1 year ago

Nice. AMP log lines for user join, leave and chat (if they exist) so I can complete the regex, please

gkuba commented 1 year ago

Log lines above for join / exit. I'll get chat real quick if it shows up.

gkuba commented 1 year ago

Chat does not show in console

Log In:

[2022.11.21-10.02.54:545][733]LogNet: Login request: ?password=1234?Name=Katala Swiftwind userId: Steam:UNKNOWN [0x1100001056B6B94] platform: Steam
03:02:58
[2022.11.21-10.02.58:374][849]LogNet: Client netspeed is 640000
[2022.11.21-10.02.58:374][849]LogNet: Join request: /Game/Maps/DedicatedServerEntry?password=1234?Name=Katala Swiftwind?SplitscreenCount=1

Logout:

[2022.11.21-10.01.27:353][ 77]LogOnline: STEAM: Removing P2P Session Id: UNKNOWN [0x1100001056B6B94], Channel: 19132, IdleTime: 0.038
03:01:28
[2022.11.21-10.01.28:864][124]LogOnline: STEAM: Closing channel 19132 with user 76561198051191700
[2022.11.21-10.01.28:867][124]LogOnline: STEAM: 76561198051191700 has been removed.
Greelan commented 1 year ago

Ah, soz, didn't realise that was why you posted those logs

gkuba commented 1 year ago

its np

Greelan commented 1 year ago

For log in, I was thinking about one of these, as they reflect an actual join rather than just a request:

[2022.11.21-10.02.58:397][849]LogNet: Join succeeded: Katala Swiftwind

or

[2022.11.21-10.03.02:620][975]LogConnectedPlayers: Display: AddConnectedPlayer - UserId: 76561198051191700 | PlayerName: Katala Swiftwind

The second one has better info, but is that when they actually join a prospect, rather than just enter the lobby? I'd think it would be better to reflect when they joined the lobby.

Greelan commented 1 year ago

Trouble with the first line though is that it only includes the name, not SteamID, and the user leave lines only have SteamID - so they wouldn't match