Jump to content

Resonance Archive on a multiplayer server


StatsBloke

Recommended Posts

I have a multiplayer server.  One of the players is a bit of a power-gamer and spawned and completed the Resonance Archive very quickly.  I have several other players who are reaching a point where they might want to explore the Resonance Archive for the first time.  However, the Archive is still in the world and is still completed.  While some of the mobs respawn, the puzzles remain completed and items looted by the first player are no longer present.  I have a few questions:

1) If I go to the same Treasure Hunter trader, he marks the same Archive location on my map.  If I go to a *different* THT, will it generate a new Archive somewhere else?

2) I've also tried using the command to regenerate the Archive

 /setstorystrucpos resonancearchive l[]

But it produces the same error, no matter how I format the command with different ways of designating a location, even in a fresh server.

3.8.2024 16:40:19 [Error] Command: /setstorystrucpos resonancearchive p[]
3.8.2024 16:40:19 [Error] Exception: Object reference not set to an instance of an object.
   at Vintagestory.GameContent.GenStoryStructures.onSetStoryStructurePos(TextCommandCallingArgs args) in VSSurvivalMod\Systems\WorldGen\Standard\ChunkGen\6.GenStructures\GenStoryStructures.cs:line 131
   at Vintagestory.Common.ChatCommandImpl.CallHandler(TextCommandCallingArgs callargs, Action`1 onCommandComplete, Dictionary`2 asyncParseResults) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 314
   at Vintagestory.Common.ChatCommandImpl.Execute(TextCommandCallingArgs callargs, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 250
   at Vintagestory.Common.ChatCommandApi.Execute(String commandName, TextCommandCallingArgs args, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandApi.cs:line 99
   at Vintagestory.Common.ChatCommandApi.Execute(String commandName, IServerPlayer player, Int32 groupId, String args, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandApi.cs:line 143

Is there any way these other players can experience the Archive without them having to start a new world separately?

Link to comment
Share on other sites

5 hours ago, StatsBloke said:

1) If I go to the same Treasure Hunter trader, he marks the same Archive location on my map.  If I go to a *different* THT, will it generate a new Archive somewhere else?

I don't believe it will, unfortunately. I'm pretty sure that major locations important to the story(such as the Archive) are unique locations to the world. I'd say your best bet currently is finding a way to regenerate the structure, although I'm not sure if there's a way outside of generating a new map entirely.

5 hours ago, StatsBloke said:

I have a multiplayer server.  One of the players is a bit of a power-gamer and spawned and completed the Resonance Archive very quickly.  I have several other players who are reaching a point where they might want to explore the Resonance Archive for the first time.  However, the Archive is still in the world and is still completed.  While some of the mobs respawn, the puzzles remain completed and items looted by the first player are no longer present. 

This currently seems to be a weakness of Vintage Story's multiplayer at the moment. Unless all the players are playing for roughly the same general amounts of time and keeping pace with one another regarding tech advancement, it's easy for the more ambitious players to pull ahead. For unique locations like the Archive, this will close off some opportunities to players slower to advance, unless there is some sort of server rule/agreement to only visit the location once everyone is ready. The other main drawback is that more ambitious players will advance the world time more quickly since they tend to play a little more, which can lead to food stores spoiling for players that don't play as often.

5 hours ago, StatsBloke said:

Is there any way these other players can experience the Archive without them having to start a new world separately?

I'm guessing a new singleplayer world would probably be the best way for them to experience the Archive from start to finish, assuming they want to solve all of the puzzles themselves. Now if they don't care that much about the puzzles and just want to see what it looks like, potentially fighting the boss and listening to the recordings on the resonator, you probably don't have to do anything. 🙂 Any books that were in the library can be transcripted and shared by the player(s) who found them, and if you are a server admin, you could potentially pop into creative mode and manually sprinkle some appropriate loot around the Archive for the players to find while they're poking around. As for the boss, I'm fairly certain he will respawn on his own after enough time has passed, although you may also be also to make him respawn via a console command.

In any case, it's not the exact same thing as being the first one(s) to explore it in a new world, but it's a decent workaround depending on your players. Another thing to consider too is that 1.20 is still slated for release sometime this year(although that could change!). New story locations are supposed to be included in the update, so if you're not too attached to your current multiplayer world, you might consider generating a new multiplayer world for 1.20, with perhaps an additional rule that major story locations should be visited for the first time as a server group(depending on your players).

Link to comment
Share on other sites

Many thanks for your reply.  There is a way to regenerate it - the command I mention in my original post is specifically for doing that, but I just can't get it to work, and searching around a bit it seems like everyone who's tried has the same issue with it giving an error.  If the command worked as intended, it wouldn't be a problem.

Link to comment
Share on other sites

The command works on a new world. I can even create a second one at a different location, though I have no idea if it erased the old one or not.

My guess is it's probably hardcoded that it can only be completed once.

[EDIT]

The command string I used was

/setstorystrucpos resonancearchive l[] true

which I think is what you have, too.

[/EDIT]

Edited by Thorfinn
  • Like 1
Link to comment
Share on other sites

16 minutes ago, Thorfinn said:

My guess is it's probably hardcoded that it can only be completed once.

This would make sense, since it's a major story location and the actions completed there will likely have significant impact later in the story, even if those points haven't yet been implemented. If the location could be regenerated fully, then it would probably result in players being able to pick different actions that result in consequences that conflict with the things already set in motion by the previous choices. The end result is that the door is opened for all kinds of ways for the game to break.

Unfortunately, if that does end up being the case, I'm not sure that there's a good solution for all players to complete the story themselves in multiplayer then, outside of a gentlemen's agreement at the beginning of the game to tackle the main story when all(or at least most) players are present. My guess is that the optimal way to experience the full story and complete all of the puzzles will remain a singleplayer world, or in the case of multiplayer with a small handful of friends who are willing to play at the same pace.

Link to comment
Share on other sites

Posted (edited)
8 hours ago, Thorfinn said:

The command works on a new world. I can even create a second one at a different location, though I have no idea if it erased the old one or not.

My guess is it's probably hardcoded that it can only be completed once.

[EDIT]

The command string I used was

/setstorystrucpos resonancearchive l[] true

which I think is what you have, too.

[/EDIT]

That's very interesting.  Thank you for trying it.   I tried on two local singleplayer games but got the same error in each - both new unplayed worlds, one creative, one survival.  I haven't tried yet on my live server, so perhaps I should do that.

Quote

Unfortunately, if that does end up being the case, I'm not sure that there's a good solution for all players to complete the story themselves in multiplayer then, outside of a gentlemen's agreement at the beginning of the game to tackle the main story when all(or at least most) players are present. My guess is that the optimal way to experience the full story and complete all of the puzzles will remain a singleplayer world, or in the case of multiplayer with a small handful of friends who are willing to play at the same pace.

If I can get the command to work on my live multiplayer server, that's the plan - get all the remaining players together and do the Archive as a group.

Many thanks both for your input!

Edited by StatsBloke
typo
Link to comment
Share on other sites

Update: I managed to move the RA on my live multiplayer server, so I'm not sure why it wouldn't work on a local server.  It might have something to do with admin permissions, despite the error not seeming to be about permissions.  I assumed that you'd automatically be an admin of a local server without needing to grant yourself permissions, but maybe not.

The remaining question is - is the relocated RA completely fresh and reset, or are the aspects of it which remaining completed / looted?  Having never done it myself as it doesn't really interest me, I talked to the player who completed it and he told me a couple of things to check and they do seem to be in their uncompleted state, so hopefully that means when you move the RA, it completely resets, which is fantastic because it means it can be made anew for any player who wants to tackle it!

One word of advice for anyone reading this trying to do the same - The RA is very tall.  When the game spawns it "naturally", it appears in a tall mountain for a reason.  When you choose a location to move it to, use somewhere with some elevation - the RA structure is about the same height as the default basement rock to sea level distance (120ish blocks), so if you do it at sea level, the entrance will just be boringly on the surface, rather than tucked up in a mountain like the default spawn.

Thanks to everyone for the help!

  • Like 1
Link to comment
Share on other sites

2 hours ago, StatsBloke said:

is the relocated RA completely fresh and reset

Mine was fresh and new. I tried it on an old world that I had completed RA on, and it was fresh, too.

2 hours ago, StatsBloke said:

I assumed that you'd automatically be an admin of a local server without needing to grant yourself permissions, but maybe not.

No, the default is player, not admin. Is that what's throwing the error?

2 hours ago, StatsBloke said:

When you choose a location to move it to, use somewhere with some elevation

And well removed from anything explored. If you are savvy enough, you can find an area that has not yet been mapgenned, and use the absolute address for it. Then the landscape will be continuous from block to block. Otherwise, you are going to have to go in and manually tweak thousands, tens of thousands of blocks where the new mapgen meets the existing.

Edited by Thorfinn
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.