21

Is it possible to somehow get the map from an SMP server as a mere player? I did some large Redstone circuitry, and I would like to copy it into my SSP map.

If not, can I extract the loaded chunks from memory?

10
  • 1
    I both like the idea that you could get this, and am strongly opposed to it. One thing common on SMP servers is that you have to hide your possessions. If someone could download the maps, then could use mapping tools to locate the position of all chests.
    – Zoredache
    Mar 13, 2011 at 23:08
  • 5
    If you have admin rights on said server, just dowload the map data, and put it in your SP map folder. No rights, no way to download the map.
    – Lysarion
    Mar 14, 2011 at 9:09
  • @Zoredache: That is indeed something to wonder about. @Lysarion: That sounds like a so easy answer that there must be a way ;)
    – fjdumont
    Mar 14, 2011 at 17:29
  • 3
    Possible Duplicate: gaming.stackexchange.com/questions/18190/getting-smp-maps May 6, 2011 at 15:45
  • 3
    Alternatively, if you just want the world and not the cumulative effects of building, you can ask your friend for the world's seed. May 6, 2011 at 22:26

8 Answers 8

10

You can use World Downloader.

Press Esc in-game and press L to start downloading. It will download everything you see — about 160 blocks away from you, from bedrock to the sky limit. To stop the download, press L again.

Then, just look in your single-player maps.

0
14

You could ask the server admins. Many times they will zip the map and send it to you if you ask nicely and explain the purpose.

6

It's theoretically possible. Your client will download part of the map before rendering it, so the data is actually transmitted through network and stored in memory, and is accessible by either packet capturing or client modding. Either way is straightforward to implement, and I implemented the latter one with MCP before for a certain complex labyrinth map.

However, such tools for retrieving server map can be easily used for hacking and unfair gameplay. So don't expect any legitimately published ones.

Edit: I came across an implementation called WorldDownloader which may be good for your need. You can try it out.

5
  • The question is specifically about "server save files". This doesn't accomplish that. Furthermore, this would have significant holes that would prevent reconstructing the save files: e.g., chest contents would be missing since container inventories are not transmitted to the client until a container is opened. +1 for cleverness, -1 for not answering the question, net 0. May 10, 2011 at 17:19
  • @SevenSidedDie It's just the same data in different formats. File stored on hard disks is one, network packet on wire or hash table in memory are the other, and they have no informational difference. For the concern about chests, you need to learn about how chests are stored in chunks.
    – xfs
    May 11, 2011 at 12:44
  • Chest data is stored exclusively server-side now. Besides, the asker asked if the files can be grabbed—the distinction being between a useful format and raw data useful only to a programmer. The OP doesn't sound like a programmer. May 11, 2011 at 20:43
  • @SevenSidedDie I've yet to do experiments so I can be wrong, but as far as I can infer the inventory synchronization method from the protocol, ... well, to put it simple, don't you see all the content when you open a chest? If you can see it with your GUI, why can't you extract it from memory or capture it from network? And I thought the conversion between formats is a non-issue or trivial issue, so I didn't mention it.
    – xfs
    May 12, 2011 at 4:41
  • Of course. Now do that for 1000+ chests across a 100Mb SMP world, many hidden by other players, many in dungeons as-yet undiscovered… Unless you personally visit and open every chest, sniffing can't recreate the server files anymore. I mean, this is still really clever stuff and it's awesome, but it doesn't answer the OP's question about accessing the server's actual, existing files. May 12, 2011 at 17:24
3

As ursa_arcadius suggested, assuming you do not have direct access to the server itself (op/admin privileges in-game don't count), you could ask the server admin to send you the map file. If they don't want to send you the whole map, but are willing to devote the time to it, they could take a copy of the map, use MCedit or a similar tool to export just your redstone circuit, and send you that export (which you could in turn import into your single player map). See MCedit and how to use it for more info :)

If you do have direct access to the server itself, of course, you could just shut down the server for a few seconds (make sure no one is logged in!) and copy the map data directly from the server into your own MC world folder, and start the server back up.

4
  • no need to stop the server, I guess?
    – o0'.
    May 11, 2011 at 11:06
  • 1
    @Lo'oris: Any time you're accessing the world data, I would recommend stopping the server to eliminate any chance of conflict (and subsequent corruption). I figured the server admin would know to do so, but then again we all know what assuming does :D
    – Doktor J
    May 11, 2011 at 14:58
  • 1
    The server flushes to disk in predictable intervals. No need to stop the server; just don't copy files during a save. Besides, at worst the copy is no good and another has to be made; there's no danger of corrupting the server's version of the files just by reading them. May 11, 2011 at 22:40
  • Use the /save-off command in Minecraft to stop the server from saving (you must be op!). You can use /save-all then /save-off to force a save and disable all saving. On Linux (possibly OS X too) you can then run the sync command in a terminal (NOT MINECRAFT) to force a flush to disk. Once that completes, you can be sure you have the latest files on disk. This can all be done online; just use /save-on after you're done copying the files.
    – Broam
    Apr 24, 2012 at 15:36
1

As far as I can tell, this isn't possible. You'll need to get your friend to zip up his save file and send it to you via other means.

1

There isn't unfortunately, the only way to do this is through accessing the machine locally, or having some sort of remote access to the folder. See my previous answer below for instructions on how to do this:

  • You need to first locate the directory that the minecraft_server.jar is stored in.

  • Once you have this, there will be a folder inside here that contains the save data. The default is world, but it may that there are lots of folders and it is hard to find - if so, you can check the level-name property inside the server-properties file, which will give you the correct folder name to look for.

  • This also works the other way around, but you will need to rename the folder / level-name property to ensure that the correct world is referenced.

See also:

1
  • 5
    I wouldn't say "unfortunately". A server which gave away data such as that would be a pretty bad server!
    – o0'.
    May 7, 2011 at 8:24
0

Depending on what you are using, (AKA: Remote host, Or Hosting on your computer) If on an FTP Enabled server, then Copy the FTB Link from your Server Panel, And then Paste it into the Directory bar in windows explorer, then Copy the folder named "World"(Without quotes)to your desktop,

3
  • ...and? You never finished your answer! What happens next? THE SUSPENSE IS KILLING ME!!
    – childe
    Feb 12, 2015 at 0:12
  • what?, i don't know what your asking
    – Mods_o_joy
    Mar 7, 2015 at 2:34
  • You ended your sentence with a comma,
    – childe
    Mar 7, 2015 at 3:05
-1

You can't copy part, only your whole server. Also, it needs to be your server. Otherwise, not possible.

First, locate your .minecraft folder. Assuming you have Windows (because I do), open up Windows Explorer. Click on the bar at the top with your location and type in "%appdata%" (without quotes). Then, click .minecraft. Last, click the saves folder.

Then, make a new window and locate the folder you have your server in. Select your world's folder. Bring both Windows Explorer windows to the front and drag your world folder from the server folder to the saves folder. Rename it anything you want.

Done! Now, you should be able to find your server in your SSP! This works vice versa. You just have to name the world "world".

2
  • This is incorrect. It is very possible to copy part of a world, especially with a third party tool like MCEdit.
    – MBraedley
    May 28, 2014 at 0:12
  • Also, the question clearly says SMP. Thanks, anyways!
    – fjdumont
    May 28, 2014 at 7:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .