Welcome, stranger!

Please feel free to look around! In order to start building with us, please whitelist yourself. To know more about how to join us, please continue here.
If you are a member already, don't be a stranger and login!

If you want to see what awaits you inside, watch our trailer!


Empire Lot reset process

I have now reset all empty lots in empire to have the new world seed. I also setup a world empire_new where you can see how a mint empire looks like. So you know what the lots next to you look like. The next thing you should do is to understand what your lot will look like in case you want to reset it. To find that out go to the city and type /warp empire_new. That will teleport you to a creative mode mint version empire. Fly to your lot (use the 2D map and the F3 key to see where you are) and check if you like what you see. If not, find a now empty lot on the empire 2D map to move your lot to.

We will be sending out emails in the coming days where you can register if you want to reset or change lot or not. Until then, please get a clear picture what you want.

I would encourage all of you to reset, specially if your lot is a strong break from the surrounding lots. Otherwise it would be great if you can terraform a bit so that the breaks are not that huge.

1.7.2 upgrade done! (or is it?)

I have now upgraded to 1.7.2. There are still some unpredictable half-crashes that I will try to fix over the coming days. Please do not try too crazy stuff. If the server acts up too much, we will have to do a complete pre-upgrade reset. We have backups of everything, so no need to worry, but I would encourage all of you not put too much effort into building the coming days since there are still some crashes possible.

Regarding safe and volatile storage

On this server, you can store items in different location:

  • Chests
  • Ender Chests
  • User inventory
  • Worlds (as blocks)
  • Deposit
  • Shop

The safest storage places are: Chests & Worlds, Deposits and Shops. Most likely to be damaged are your own inventory and enderchests since they are managed by a plugin. In case of a hard server crash & reboot, those plugins sometimes fail to write the data to the disk and the contents of the user inventory and/or enderchests might be lost. Since I cannot track changes in those inventories, there are no refunds possible. So please do not store all your important belongings in enderchests or carry them around with you. If you need to move stuff, do so in smaller fractions to prevent a total loss in case of a crash. It’s not that we have a lot of crashes, but they happen sometimes.

(I added this text to the “lag” section of the website.)

Dr. Mapmaker or: How I worked for 2 full days and learned to love singe-file maps.

Disclaimer: This is just a small rant about what I worked on the last 2 days. If you are busy, no need to read.

Ok, so you all hopefully read yesterdays blogpost in which I announced to move to chunk-sized maps. Well actually that was wrongly put, since chunks are only 16×16 blocks large, I actually meant to move to file-sized maps, and one file covers 512×512 blocks.

And the whole thing fell apart the further I progressed with it. First of all, all went great. I managed to find a nice and simple way to place all the generated files on the page with simple CSS and little code. Life was good. Then I wanted to move on to do the same for the heatmaps. The issue is that I had to then render the heatmap for each 512×512 block of each map.

But everything was different looking all of a sudden. I thought at first that the method that I used to translate in-game coordinates (-1000 -> + 1000 around a center) to screen coordinates (0 in the top corner to 2000 in the left/bottom) did not work for single files since the coordinates there start anywhere in the map. Working on that one for 2-3 hours I finally figured out that if you calculate a heatmap for a single 512-sized block, the spot with 1 hit would have the same color intensity as for another block with 100 hits, if that was simply the maximum for each block. Only if you generated a whole world at once,  you would be able to see where in the world the highest hits were. Ideally we should render ALL worlds into one file just to see where the balance is between worlds. So I found that I had to assemble the files of each map back together to a single file in order to create a heatmap. On top of that, since we are having individual lot images on each user’s page, we needed a whole world map. Otherwise, if a lot is split between two files, we would have issues there.

So I tried to make a program that would re-assemble the file-based images into one single image. For that you scan a world directory, list up all the files and tell a small program to arrange them in a 10×10 pattern That worked for some worlds but did not work for others. The issue was that we had more worldfiles per world than 10 by 10. Some rows or lines in the grid would have more files outside the borders. Teleporting and other issues sometimes generate single-block items outside of the borders and those made the map assembly a mess. So I had to first go to each world, check and remove excessive files, then make a list of the good files to make sure no unwanted files messed up everything. Now I was able to have complete maps, crop those again since the world as we set the border does not end at the file end either, render heat maps out of them, cut it again in lot-sized pieces for the user pages, and done.

So in the end we are back to single-file 2D maps, but they still use the better rendering engine, and we have heatmaps again. Yay!

2D Map assembly

I have been working so far with a 2D map engine (c10t) which has become outdated with 1.7.2. It was already outdated with 1.6.4, I had to install a whole host of complicated programs, compile the source myself etc to get it to work, but I have given up now. The new renderer that I am using is working fine, and I can make new blocks appear on the map (the ones that are currently pink in the new empire map) by simply editing a text file. It also looks much better.

The difference is that the new renderer does not create one single file, but one per chunk. I have to use another program then to re-assemble the file, which works only if the file has an exact known size & dimension, which is a bit of an issue because I have to do trial-and error for each map that I want to make with this tool. If due to some error a chunk is created outside the map (this happens sometimes), the whole system breaks down and I have to trim the map of excessive chunks, and re-generate it. It’s annoying.

So the current 2D map is generated by having a background image (the one map image) and overlay it with the lot squares. What I will do now is to create chunk squares, have background images in them from the new map function and overlay those with the lot squares. I hope I find an elegant way to do this. The good thing will be that there will not anymore be a 3MB file in a single download like for the kingdom but instead several smaller files to download. This will speed things up a bit hopefully, and I can skip the map assembly tool, so there will be less code to maintain. You will know I managed to pull that off once all other maps look like the empire map.

Good news everyone! Preparations for the upgrade underway!

I have now installed the latest build of 1.7.2 and for a test installed all plugins that we are currently running. Of course some of them failed (such as minecart mania, mob disguises and a couple small ones), but none of the important ones that we need to run the server. What does that mean?

First of all, the fact that plugins do not crash during the start does not mean that they work 100%. There will be more testing needed for that. I assume that the forums of the individual plugins will soon be filled with comments in case something breaks.

Regarding the upgrade, I want to wait some time until there is some form of stabilization in the bukkit development process. As of now, there are frequent new builds, and while there are right now no open critical bugs, that does not mean that there are no new ones coming. I want to see how often new developer releases are being added, wait until it slows down and at least wait until this weekend with the upgrade. Also, many plugins that deal with blocks currently will not work properly with the new blocks of 1.7.2. So they will disappear into a void in case we try to trade them, and sometimes those new blocks also fail for protection against griefing.

Since the upgrade will involve the reset of the darklands (thanks to tbrewda who found a seed with mesa canyons at spawn!) and all the empire lot resets, I do not want to make an upgrade and then realize later that a bug messed something up. With this upgrade, it’s a major work to manage it, and I do not want to have to do it twice.

But I guess the big message is the following: If you want to reset your lot or pick a new one, now is the time to look at the map make a choice. I will introduce a process where you can submit requests for a different lot. And in this case it would be also the time to dismantle your belongings and stock them into chests.

 

New Empire seed for 1.7.2 found, map rendered

I have tried around with a couple of seeds for the new empire while working with the first 1.7.2 dev builds and found one that has very little ocean and a nice balance of biomes. Please see the new map with the overlay of the current lots here. The pink stuff are trees and flowers that are new in 1.7.2, the renderer cannot handle them properly. The brown area around lot C25 is just dirt without grass.

Regarding the lot resets:

  1. You will be able to reset any of your lots in empire. It will then look like the lots on the new map. You will lose ALL items on the reset lots, chests and so on. I will allow additional deposit storage during the reset time to help people move who only have one lot.
  2. You will be able to chose a completely new lot (on the new map, has to be empty, not the old map). If 2 people want the same lot, we will make a clear hierarchy of choice by rank, donators included. That means that a Master will have their pick above Designers, and DesignerDonator above Designers and so on. If 2 people of the same rank want the same lot, we roll the dice.
  3. You will be able to simply keep your lot and nothing will change otherwise.
  4. All empty lots will reset too.
  5. Strongholds and other locations with special mob spawn patterns (please read this here for more info) coming from the old/current empire will change the spawning to normal terrain features. Dungeons from the new empire will maintain their spawning behavior.
  6. Yes, we will have breaks in the world and strange cut-off mountains etc, but we have those already now. Look at Lot EMP_S14 for example. We will not be able to avoid this. We can only allow people to reset their lot on world generator changes to try to reduce the impact.
  7. No, I do not know yet when we will update. I will tell you when I am working on the upgrade. I will do so as soon as there is some more stable build of bukkit and when i know that all the important plugins are working.

First 1.7.2 builds for bukkit are out! What now?

Bukkit (the system, built on the normal (vanilla) minecraft server, that allows all our plugins and non-vanilla stuff to run) has released the first developer builds for 1.7.2. So what is keeping us from upgrading?

CaptureWell, as you can see in the graphic, there are still tons of bugs in it. The red line is the number of reported bugs, the green one is the resolved amount of bugs. Since the first dev version was released 1 day ago, people have been reporting bugs that need to be fixed until the first stable version will be released. The issue for us is that plugin developers need to fix their plugins to work with the new version, but since it will still change a lot (because they need to fix all those bugs), it does not really make sense to start working on the plugins before the biggest of them are fixed. So we have to first wait for the biggest bugs in Bukkit to be fixed, then for the plugin authors to fix their plugins. Please stand by and be patient.

In the meantime I will see what plugins still work and if I can try again to make a new map for the empire. So as you can see, I am frequently monitoring the situation so that we can upgrade as soon as possible.

New heatmap!

CaptureI have found a module that lets you generate a heatmap from data and combined it with the previously mentioned location data captured during lag.

I also added a new link to the 2D maps where one can switch any map to a heatmap to see those new maps. Again, this is not a 1:1 locator for lag, specially not until we have at least 1-2 weeks of data. But then we can use it as a really good indicator where the issue is caused. The heat map will update with the other maps once a day.

Lag: more info now available! Also: Item frames

I have now programmed a new function that records user locations when lag is high into a database. Then, when we render the 2D maps, it will count the amount of times users have been inside each lot at times of lag. This will be written into the map with a number.

So if you check out your lot on the 2D map, you might see a “Lag: 5” behind the lot name. Of course this does not necessarily mean something. It could mean that you are online whenever someone else causes lag. Or that you are just always online. My hope is that over time we will have quite accurate numbers about sources of lag in certain locations.

Regarding item frames:

Item frames are entities in minecraft code, that means that they are treated like mobs. If you have a lot of item frames in your building, to label your boxes for example, you create lag. I know that item frames are really cool to do that, and that they look great, but please keep in mind that this is creating an issue for the server. So please do me a favor and keep those to a limit. I do not want to limit them with code like we do for the mobs. But if we find out that the major lag locations is coming from the lots with many item frames, we will have to do something about it.

Lag issues

I would like to mention lag issues once again. The above illustration is one of the typical applications of redstone/minecarts/mobs that cause excessive and unnecessary lag (although it looks damn funny).

This is not supposed to be a rant, but more a reminder: Please be thoughtful of what you do with mobs, animals, redstone, minecarts etc. All those items are causing lag the more they are used. We have good times on the server with little lag, but we also have some times where the lag is very very heavy. As you might know, lag is measured in ticks per second (tps), and ideally we have 20tps. Many times however, we have less than 10. This will result in lag for all users. Often this is caused by automation mechanics that try to make the miner’s life easier.

If you are using any kind of redstone mechanics, I would like to encourage you to check the impact of those. This is best done when there are not too many people on the server. Check the “/lag” command before you switch on whatever you are doing, and then again while it is running. You can then judge the impact of your machines on the server. If it uses 10tps or more, you better take it down. If it is 5 tps or more, you better not run it when there are more than 10 people on the server.

PVP arena, step2

We now have 2 PVP arenas built and ready. I placed mob spawners where requested. The whole thing works like this:

The upper arena (the nether-type one) has spawners for pigzombies and blazes. Otherwise no mobs spawn there. The lower arena has 2 spawners for zombies and 1 for pigzombies and zombies can spawn anywhere if it is dark enough. Otherwise no mobs spawn there. Both those arenas have PVP now ON.

What can be done next is a command system similar like the hunger games. This system can place people at one of a list of pre-defined spawn points.You guys have to decide how you want to manage those arenas. And you also have to tell me when they are finished built, so that I can take away the build rights.

The middle arena does not have PVP On yet, please tell me once you are ready to switch it on.