Does this save the maps that are generated from SMP? If so, this is a major copyright violation. Builders hold the rights to anything they have built, since A) Minecraft claims no such rights in its terms and B..) US law and Swedish law both grant automatic copyright to individuals who express creative pictoral or sculptural etc. works in any concrete, viewable medium.
Reproduction of such works without permission, e.g. by copying them from intercepted packets, is illegal infringement.
So if this mod does not do that, please make sure it continues not to. If it does, that is a problem.
When server operators (who have sole access to the map files) and everyone who has ever taken a screenshot in SMP start getting sued (and lose), then I'll worry post a disclaimer saying not to use it on someone else's server.
When server operators (who have sole access to the map files) and everyone who has ever taken a screenshot in SMP start getting sued (and lose), then I'll worry.
No, those are not at all the same thing.
*Server operators have a fair use license for the work, as is obviously implied by the builders deciding to go on the server and build their creations there in the first place. If you go build a sand castle on a public beach, you obviously cannot sue the city for copyright violation due to them possessing your work...
*Tourists to a server viewing a piece is a derivative of normal, fair use server operation. I.e., builders know that people will be able to see a client-scaled image of the surface of their creations / that is the entire purpose of building on a server. The built-in screenshot feature is also a known part of the game that builders know they are subjecting themselves to.
That is NOT the same as being able to replicate the build or import it somewhere / having all the relevant information in a usable replicating format. And most especially WITHOUT THEIR KNOWLEDGE. Your examples are things that builders know about ahead of time. getting schematics (which will allow anybody to pass off the work as theirs) just by visiting an area is not something they know about ahead of time / may not even have any way to know exists, and is clearly more damaging and a copyright issue.
By analogy, this is the difference between going to a band's concert and listening to their music, versus burning their CD.
because the saved files for the SMP all are top-down views. anything inside is not saved to local
if the entire build is 2d viewable from the top of the map, then maybe, but otherwise, all that can be seen on the saved map is, again, top view. if someone built, oh, an obsidian umbrella at top of the world level, then ALL that would be seen on the saved map is the obsidian umbrella.
do please look at the utility and the local saves before you start blowing a gasket, please.
I started efforts today to fix for all the crashes everyone has been getting from the static map code. These crashes are basically caused because we are trying to load too much map data into memory and AM is overrunning its memory allowance.
Here are some features and facts about the new system:
Under the new system, AM will stream the static map directly to a 16-bit color uncompressed TGA file using code I wrote myself.
It will never be loaded into memory all at once, so it can grow much larger than it could before.
In theory, the static map will be able to grow to just over 65000x65000 before you get incorrect behavior or crashes.
In reality, long before you reach this size, your static map will start taking a long time to load and even longer to expand its borders.
The max texture size in AM is still 2048x2048 (or 4096x4096 -- I forget which), so if your static map is larger than this, you will lose detail when displayed in AM.
XNA does not support loading TGA files at runtime, so I will have to implement my own TGA loader. It may not look very nice when I have to shrink the static map to fit inside the texture.
Added a "Custom Ores" list. Any block IDs you add to this list will act like ores when Mineral Detection is on.
Added a "Mark Blocks" list. Any block IDs you add to this list will be colored red. See Minecraft Wiki for block IDs.
For you:
:smile.gif:
Being mathematically retarded, I spent today basically inventing my own version of linear interpolation for shrinking the static map into a texture. I wasted ages trying to find an efficient way to average the pixels and ended up doing it the stupid way (red = (red1 + red2 + red3) / 3). It actually looks alright considering the grade school formula I used. There will be an option to turn on a slightly more advanced (but slower) version that will increase the detail in some situations; the option will make it look just like "real" linear interpolation.
If you stick close to home, the entire static map will fit in one texture and it will look better and load quicker.
An error occurred on the TCP/IP Message Handling Thread. World Chunk Handling function
System.Runtime.InteropServices.COMException (0x88980003): Exception from HRESULT: 0x88980003
at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth, Int32 pixelHeight, Double dpiX, Double dpiY, PixelFormat pixelFormat, BitmapPalette palette)
at MinecraftAM.MapCollector.ExpandBitmap(Int32 newSize)
at MinecraftAM.MapCollector.SaveFlatChunk(MCTile[,] output, IntVector2 origin, Boolean isQueued)
at MinecraftAM.MapCollector.SetChunk(Chunk c, Boolean notCreatingThread)
at MinecraftAM.ChunkManager.WorldChunkReceived(Int32 x, Int32 y, Int32 z, Int32 dx, Int32 dy, Int32 dz, Byte[] data) at DataSource.DS.HandleWorldChunk(Byte[] message)
I get that error when playing online. It happens a few seconds after it tries loading the map. I am at coords:
-4219,72,-223
Most of the time I am in the -4k coords and -200. When going to lower coords it works like intended.
An error occurred on the TCP/IP Message Handling Thread. World Chunk Handling function
System.Runtime.InteropServices.COMException (0x88980003): Exception from HRESULT: 0x88980003
at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth, Int32 pixelHeight, Double dpiX, Double dpiY, PixelFormat pixelFormat, BitmapPalette palette)
at MinecraftAM.MapCollector.ExpandBitmap(Int32 newSize)
at MinecraftAM.MapCollector.SaveFlatChunk(MCTile[,] output, IntVector2 origin, Boolean isQueued)
at MinecraftAM.MapCollector.SetChunk(Chunk c, Boolean notCreatingThread)
at MinecraftAM.ChunkManager.WorldChunkReceived(Int32 x, Int32 y, Int32 z, Int32 dx, Int32 dy, Int32 dz, Byte[] data) at DataSource.DS.HandleWorldChunk(Byte[] message)
I get that error when playing online. It happens a few seconds after it tries loading the map. I am at coords:
-4219,72,-223
Most of the time I am in the -4k coords and -200. When going to lower coords it works like intended.
Ick. Well, my static map rewrite is going well. I anticipate finishing it this weekend if not sooner. This change should fix the exceptions and allow the map to grow much larger, but it comes with a price. Dramatically larger map images, near-constant disk access (which may be bad for some solid state drives), and slower loading of the static map from the disk. Basically, we still need a great big uncompressed image somewhere, and with RAM out of the question, it needs to go on disk. Hopefully most of the writing will go to the storage device's cache and nobody will notice any performance decrease.
For any techies interested in the details:
The new format is uncompresed TGA with a 16bpp color depth. The map starts at 2048x2048 which is about 8.5 MB. Increase that to just 8192x8192 and you are looking at 135 MB. By the time you reach the max TGA size of just over 65000x65000, the file will be 8.5 GB. Assuming nothing else crashes at that size, map loading will take ages.
Oh, by the way, do I need to make AM automatically convert old static maps to the new format and then delete the old ones? Unless people speak up in favor of this I am convinced otherwise, I am not going to try it and you will have to start from scratch on your SMP worlds.
The new format is uncompresed TGA with a 16bpp color depth. The map starts at 2048x2048 which is about 8.5 MB. Increase that to just 8192x8192 and you are looking at 135 MB. By the time you reach the max TGA size of just over 65000x65000, the file will be 8.5 GB. Assuming nothing else crashes at that size, map loading will take ages.
Wow I hope my maps dont go to the gb size.
Oh, by the way, do I need to make AM automatically convert old static maps to the new format and then delete the old ones? Unless people speak up in favor of this I am convinced otherwise, I am not going to try it and you will have to start from scratch on your SMP worlds.
I would go with what is easier for you to implement and not mess with other areas. Some players will prefer converting the old maps but as for me I dont care which way you go.
Alright. My current plan is to create a static map converter app and include it in the normal AM release for a while. It will be a standalone exe file that will convert all the static maps in the same folder as itself, and then give the option to either delete the old map files or leave them intact.
Note that Singleplayer worlds will still have full maps automatically generated from the region files when the static map is first created, so converting the old ones is not strictly necessary. Also, if you have access to the SMP region files, you can still generate that full map in the options window.
I compared 16 bit color output with 32 bit color output and here is the result:
<-- (click for full size)
This is a pretty big difference in image quality and not terribly difficult for me to implement both ways, so I am going to probably put in options for you to choose between 16, 24, and 32 bit color. This option will only affect new maps and the default will be 16 bit color. The static map converter will also give the option to convert the old format to 16 bit, 24 bit, or 32 bit TGA.
16 bit looks like the image on the left. Unexplored sections of map will be transparent.
24 bit looks like the image on the right. Unexplored sections of map will be the same gray as the default AM background. (this is fine if you never plan on using the map outside of AM)
32 bit looks like the image on the right, and unexplored sections will be transparent
Of course, 16 bit maps will consume the least space and take the least time to load. 24 bit will take 50% more space and will load slower for very large maps. 32 bit will take double the space of the 16 bit version and may take up to twice as long to load for very large maps.
No, those are not at all the same thing.
*Server operators have a fair use license for the work, as is obviously implied by the builders deciding to go on the server and build their creations there in the first place. If you go build a sand castle on a public beach, you obviously cannot sue the city for copyright violation due to them possessing your work...
*Tourists to a server viewing a piece is a derivative of normal, fair use server operation. I.e., builders know that people will be able to see a client-scaled image of the surface of their creations / that is the entire purpose of building on a server. The built-in screenshot feature is also a known part of the game that builders know they are subjecting themselves to.
That is NOT the same as being able to replicate the build or import it somewhere / having all the relevant information in a usable replicating format. And most especially WITHOUT THEIR KNOWLEDGE. Your examples are things that builders know about ahead of time. getting schematics (which will allow anybody to pass off the work as theirs) just by visiting an area is not something they know about ahead of time / may not even have any way to know exists, and is clearly more damaging and a copyright issue.
By analogy, this is the difference between going to a band's concert and listening to their music, versus burning their CD.
your idiocy astounds me the only reason copyright laws are in the toilet are because of uptite people like you. auto map is a tool for making maps aka 2d renderings of the map. it is a navigation tool that is similar but a bit more complex to the maps that notch installed directly into the client. any attempt to replicate a build from automap would be like trying to surgically rebuild someone's body from a MRI cutaway. aka nearly impossible to do without many hours and a team of skilled people reading over the map slices. noone is stealing work with this tool and i am fairly sure that since he is making no profit off of other peoples maps and the tool is used soley as a navigation aid this falls under fair use.
now on the other hand the tool can be used to find seceret rooms and chests but that is not the tools fault that is a melicious act by an individual who is abusing the tool for personal gain. that person may be in violation of something but the creator of any utility is never liable for abuse by the end user.
if you do ever decide to sue him over this there are plenty of volinteer lawyers at the EFF that will be happy to humiliate you in court
I saw the changelog for MinecraftAM now uses TGAs for the maps, so I figured I'd try throwing my SMP map to it again and see how it handles it. Much better this time around, the map doesn't get corrupted (yay!) but after about 7% (the map is ~160MB worth of mcregion now) I get a crash.
I fetched the source and had a quick look as the crash didn't appear at a first glance to be it running out of memory in a horrible fashion (yay) and it turns out
FileInfo tempFile = new FileInfo(this.file.FullName + ".temp");
if (tempFile.Exists)
tempFile.Delete();
this.file.MoveTo(tempFile.FullName);
Was the offending piece of code (the last line pasted is where the crash was), line 133 of TgaWriter.cs in the latest version of the source available on the downloads page. The error thrown is "The process cannot access the file because it is being used by another process." although by 'another process' I have a sneaking suspicion that it's actually meaning MinecraftAM. Hope this proves useful, give me a yell if you want a copy of the map or anything for testing.
Alright, I have seen it do that too (rarely), but at the time I did not realize why. I am now 90% sure it is the TGA reading thread that gets started periodically to read the file and update the texture. If it is still reading the file when that resizing code tries to rename it (thats what the MoveTo call does), the exception you got will occur. That is the only other place in AM that should be able to access the file at the same time as AM. I will put in some simple thread-sync code and see if that fixes the problem. It will go into the next update, which will probably be later this week.
I look forward to hearing how the new format works with very large worlds like yours once I get the bugs ironed out.
I really love the concept of this MOD and woudl love to get it to work. Everytime I try to run mincraftAM.exe I gft and error taht says it has stopped working. I was able to properly instal the mod by running teh BAT file. Everything was OK (I got that 4 ti,mes like the read says).
I then try to run mincraftAM.exe as instructed but get nothing but teh program has stopped working arror.
When server operators (who have sole access to the map files) and everyone who has ever taken a screenshot in SMP start getting sued (and lose), then I'll
worrypost a disclaimer saying not to use it on someone else's server.Have you tried Minecraft AutoMap?
No, those are not at all the same thing.
*Server operators have a fair use license for the work, as is obviously implied by the builders deciding to go on the server and build their creations there in the first place. If you go build a sand castle on a public beach, you obviously cannot sue the city for copyright violation due to them possessing your work...
*Tourists to a server viewing a piece is a derivative of normal, fair use server operation. I.e., builders know that people will be able to see a client-scaled image of the surface of their creations / that is the entire purpose of building on a server. The built-in screenshot feature is also a known part of the game that builders know they are subjecting themselves to.
That is NOT the same as being able to replicate the build or import it somewhere / having all the relevant information in a usable replicating format. And most especially WITHOUT THEIR KNOWLEDGE. Your examples are things that builders know about ahead of time. getting schematics (which will allow anybody to pass off the work as theirs) just by visiting an area is not something they know about ahead of time / may not even have any way to know exists, and is clearly more damaging and a copyright issue.
By analogy, this is the difference between going to a band's concert and listening to their music, versus burning their CD.
Have you tried Minecraft AutoMap?
because the saved files for the SMP all are top-down views. anything inside is not saved to local
if the entire build is 2d viewable from the top of the map, then maybe, but otherwise, all that can be seen on the saved map is, again, top view. if someone built, oh, an obsidian umbrella at top of the world level, then ALL that would be seen on the saved map is the obsidian umbrella.
do please look at the utility and the local saves before you start blowing a gasket, please.
Have you tried Minecraft AutoMap?
Here are some features and facts about the new system:
Have you tried Minecraft AutoMap?
:smile.gif:
Being mathematically retarded, I spent today basically inventing my own version of linear interpolation for shrinking the static map into a texture. I wasted ages trying to find an efficient way to average the pixels and ended up doing it the stupid way (red = (red1 + red2 + red3) / 3). It actually looks alright considering the grade school formula I used. There will be an option to turn on a slightly more advanced (but slower) version that will increase the detail in some situations; the option will make it look just like "real" linear interpolation.
If you stick close to home, the entire static map will fit in one texture and it will look better and load quicker.
Have you tried Minecraft AutoMap?
*edit*
Seems to be back up, never mind!
I get that error when playing online. It happens a few seconds after it tries loading the map. I am at coords:
-4219,72,-223
Most of the time I am in the -4k coords and -200. When going to lower coords it works like intended.
Ick. Well, my static map rewrite is going well. I anticipate finishing it this weekend if not sooner. This change should fix the exceptions and allow the map to grow much larger, but it comes with a price. Dramatically larger map images, near-constant disk access (which may be bad for some solid state drives), and slower loading of the static map from the disk. Basically, we still need a great big uncompressed image somewhere, and with RAM out of the question, it needs to go on disk. Hopefully most of the writing will go to the storage device's cache and nobody will notice any performance decrease.
For any techies interested in the details:
The new format is uncompresed TGA with a 16bpp color depth. The map starts at 2048x2048 which is about 8.5 MB. Increase that to just 8192x8192 and you are looking at 135 MB. By the time you reach the max TGA size of just over 65000x65000, the file will be 8.5 GB. Assuming nothing else crashes at that size, map loading will take ages.
Have you tried Minecraft AutoMap?
people speak up in favor of thisI am convinced otherwise, I am not going to try it and you will have to start from scratch on your SMP worlds.Have you tried Minecraft AutoMap?
Wow I hope my maps dont go to the gb size.
I would go with what is easier for you to implement and not mess with other areas. Some players will prefer converting the old maps but as for me I dont care which way you go.
Note that Singleplayer worlds will still have full maps automatically generated from the region files when the static map is first created, so converting the old ones is not strictly necessary. Also, if you have access to the SMP region files, you can still generate that full map in the options window.
Have you tried Minecraft AutoMap?
I compared 16 bit color output with 32 bit color output and here is the result:
<-- (click for full size)
This is a pretty big difference in image quality and not terribly difficult for me to implement both ways, so I am going to probably put in options for you to choose between 16, 24, and 32 bit color. This option will only affect new maps and the default will be 16 bit color. The static map converter will also give the option to convert the old format to 16 bit, 24 bit, or 32 bit TGA.
16 bit looks like the image on the left. Unexplored sections of map will be transparent.
24 bit looks like the image on the right. Unexplored sections of map will be the same gray as the default AM background. (this is fine if you never plan on using the map outside of AM)
32 bit looks like the image on the right, and unexplored sections will be transparent
Of course, 16 bit maps will consume the least space and take the least time to load. 24 bit will take 50% more space and will load slower for very large maps. 32 bit will take double the space of the 16 bit version and may take up to twice as long to load for very large maps.
Have you tried Minecraft AutoMap?
The static map changes and fixes I've been working on since last weekend are now live!
Have you tried Minecraft AutoMap?
I added a surprise new feature that I've been considering for a while. Use at your own risk!
Have you tried Minecraft AutoMap?
your idiocy astounds me the only reason copyright laws are in the toilet are because of uptite people like you. auto map is a tool for making maps aka 2d renderings of the map. it is a navigation tool that is similar but a bit more complex to the maps that notch installed directly into the client. any attempt to replicate a build from automap would be like trying to surgically rebuild someone's body from a MRI cutaway. aka nearly impossible to do without many hours and a team of skilled people reading over the map slices. noone is stealing work with this tool and i am fairly sure that since he is making no profit off of other peoples maps and the tool is used soley as a navigation aid this falls under fair use.
now on the other hand the tool can be used to find seceret rooms and chests but that is not the tools fault that is a melicious act by an individual who is abusing the tool for personal gain. that person may be in violation of something but the creator of any utility is never liable for abuse by the end user.
if you do ever decide to sue him over this there are plenty of volinteer lawyers at the EFF that will be happy to humiliate you in court
I saw the changelog for MinecraftAM now uses TGAs for the maps, so I figured I'd try throwing my SMP map to it again and see how it handles it. Much better this time around, the map doesn't get corrupted (yay!) but after about 7% (the map is ~160MB worth of mcregion now) I get a crash.
I fetched the source and had a quick look as the crash didn't appear at a first glance to be it running out of memory in a horrible fashion (yay) and it turns out
Was the offending piece of code (the last line pasted is where the crash was), line 133 of TgaWriter.cs in the latest version of the source available on the downloads page. The error thrown is "The process cannot access the file because it is being used by another process." although by 'another process' I have a sneaking suspicion that it's actually meaning MinecraftAM. Hope this proves useful, give me a yell if you want a copy of the map or anything for testing.
Alright, I have seen it do that too (rarely), but at the time I did not realize why. I am now 90% sure it is the TGA reading thread that gets started periodically to read the file and update the texture. If it is still reading the file when that resizing code tries to rename it (thats what the MoveTo call does), the exception you got will occur. That is the only other place in AM that should be able to access the file at the same time as AM. I will put in some simple thread-sync code and see if that fixes the problem. It will go into the next update, which will probably be later this week.
I look forward to hearing how the new format works with very large worlds like yours once I get the bugs ironed out.
Have you tried Minecraft AutoMap?
I then try to run mincraftAM.exe as instructed but get nothing but teh program has stopped working arror.
Anyway to get this thing working?
Cheers.