How can I find the World Seed of an online multiplayer Valheim Server?

Solution 1:

This information can be gained from the Player Log file!

To retrieve your multiplayer games world seed:

  1. Start up Valheim
  2. From the main menu, click the button labelled Show Player.log hidden away at the bottom left corner of the screen. This will open a folder in Windows Explorer; minimize that and come back to Valheim for now, we'll double back to this in a minute.
  3. Join your multiplayer server as normal. (Start Game -> Start->Join Game, yadda yadda. You know this.)
  4. Once you've loaded into the game world that you want the world seed for, it's time to Alt+Tab back to the Valheim AppData folder that was opened up by that player.log button.
  5. We want to open the text file named Player.log, or, depending on your windows settings, it may show up as simply Player.
  6. In that document, you'll want to Ctrl + F or scroll down and look for the string Initializing world generator seed:. Your seed will appear right after that*. Remember, world seeds are case sensitive!

*Initializing World Generator Seed: may show up in the log file more than once, however, the first time it will appear without a string of characters following it. This is the world generator seed for the menu. Scroll down to where you see it a second time for the game world you've just loaded into.

Solution 2:

Use Cheat Engine. This is taken from a comment by Reddit user ‘madpata’:

Sadly, the Valheim developers removed that log entry. Probably to stop people from using this tool to get trader/loot positions.

However, there is another, but way more complicated way to get the seed: Using Cheat Engine. Be warned that you probably need a bit of experience with Cheat Engine to get this to work.

(There's a video of this process available)

  • Open the valheim process

  • Mono -> Activate Mono features

  • Mono -> Dissect Mono

  • Search for class "World"

  • Right click on the "World" class and use "Find instances"

  • You'll get multiple results and only one is the one you want. Use the current values of an instance to judge if it's valid or not.

    • m_worldGenVersion should be 1
    • m_menu, m_loadError and m_versionError were all 0 for my instance.
  • Double click on the entry containing m_seedName. The "Memory Viewer" will open.

  • Right click on the bottom half of the memory viewer and click on "Goto address"

  • Enter the address that is pointed to by m_seedName and hit enter.

  • Your seed starts at that address + offset of 0x14 (<- hexadecimal) and is 20 bytes long. Ignore every other character (the '.' dots).

  • Profit

Video using Cheat Engine to access the seed of a multiplayer server if you are not the host: