All posts by Alexey Kviring

Collecting logs (Step 1 of 9)

We just finished log collecting and viewing system. Log analizing problem was very actual, because we have not one server servers — game, resource, generator. During test stage we’ll have to handle clients messages too.


Logging server is based on OSGI platform. We recieve logs via RMI using JAAS authorization (we had to write an appender for Log4j). Logs are saved with Hibernate into PostgreSQL database. And we wrote some plug-ins for Eclipse for viewing too. Basic features — log filtering with different criterias and filter save function.

Happy Birthday, Anton! Preved!

There are still 8 steps to testing… :-)


Photoshop with its PSD files is a standart de-facto. The game wants to read all that additional parameters, like pivot point, slices and so on. We decided to use separate layers to store this info. Then is came to a need of PSD-parser. We did’t found any real quality parsers, so we made it by ourselves in a week.

Here is an example of using this neat thing:

PSDParser parser = new PSDParser(new FileInputStream("image.psd")); 
PSDLayerAndMask layerAndMask = parser.getLayerAndMask();    
List layers = layerAndMask.getLayers(); 
List images = layerAndMask.getImageLayers(); 
int i = 0; 
for (PSDLayerStructure layer : layers) { 
    PSDLayerPixelData pixelData = images.get(i); 
    BufferedImage image = pixelData.getImage(); 
    if (image != null) 
	ImageIO.write(image, "png", new File(layer.getName() + ".png")); 


Sourse can be downloaded freely under APACHE LICENSE.
Features: all layers export (incl. main), main file info, full slices support.
Use this on your own risc, and we’ll be glad to hear any comments too (bugs, ideas).


Eclipse — ловим изменения в проекте

Возникла следующая задача: допустим я в Eclipse занимаюсь программированием кода, правлю файлы в различных проектах. Но сервер работает совершенно на другом компьютере. То есть мне надо все свои измененные проекты перенести на сервер, а запоминать какие проекты я изменил, а какие нет не очень удобно. Для решения задачи потратили два часа и написали два плагина, один для серверных программистов, второй для клиентских. Плагины следят за проектами и записывают изменения, первый плагин формирует XML файл с изменениями для ant, второй копирует изменные swf файлы в один каталог, который позже переносится в SVN одной командой.