Posts

Secret messages

When I reviewed my code for the aberoth protocol messages, I noticed something interesting: Id Name Type 0x00 DRAW_FILLED_RECT_AT_Y_PLUS_ONE Command 0x01 DRAW_FILLED_RECT_AT_BLOCK_XY Command 0x02 DRAW_FILLED_RECT_AT_DY Command 0x03 DRAW_FILLED_RECT_AT_X_PLUS_ONE Command 0x04 DRAW_FILLED_RECT_AT_DX Command 0x05 DRAW_FILLED_RECT_AT_XY Command 0x06 SET_COLOR Command 0x07 CACHE_CURRENT_COLOR Command 0x08 SET_ON_SCREEN_TEXT Command 0x09 MOVE_ON_SCREEN_TEXT Command 0x0a ??? ??? 0x0b PING_ID_BANDWIDTH_CHECK Command (?) 0x0c ONE_FRAME_WITH_INFO Message 0x0d FRAME_RECEIVED Message 0x0e USER_INPUT (unofficial name) Message 0x0f ??? ??? 0x10 KEYBOARD_INPUT (unofficial name) Command 0x11 ??? ??? 0x12 DRAW_PIXEL Command 0x13 MOUSE_INPUT (unofficial name) Command 0x14 CREATE_WINDOW Message 0x15 COPY_AREA Command 0x16 CLIENT_STATUS Message 0x17 ONE_FRAME_NO_INFO Message 0x18 SUB_WINDOW Command 0x19 SET_FILLED_RECT_SIZE Command 0x1a USE_GLOBAL_RESOURCE Command 0x1b D...

Rendering Pt1: Windows on Windows

Since the Aberoth client is basically a renderer connected to the internet, I decided to describe the rendering process in more detail. I will also talk about the network commands responsible for rendering, of which there are plenty. Part I: Windows on Windows The first thing that happens after login is the client receiving a CREATE_WINDOW message. This message contains all the information needed to setup the clients main window, but mainly the screen size. The only two sizes sent are 960 by 540 pixels for widescreen and 640 by 480 pixels otherwise. Since by default one "Aberoth voxel" is four pixels wide and four pixels high, the actual resolution of the game is 240 by 135 (widescreen) or 160 by 120. Slightly more interesting is the fact that the CREATE_WINDOW message contains a lot of stuff that is not used by the game. For example, it actually contains a window title, which is probably meant for the Java clients window. However, neither the Java client nor the HTML5 ...

Incendium API v1.0

Get it here: https://github.com/0xJonas/AberothIncendium/tree/master I'm happy to announce that the first version of the Incendium API is now finished. It is still very basic, but the core features are all functional. Incendium is a Python API that can be used to intercept, edit and analyse Aberoth network traffic. Working features include: Intercept messages from both client and server Create and edit messages Start multiple clients and work with them individually Again, these are just the very basics that are working right now. I have plenty more features planned, like: Convenience function for directly sending keypresses and mouse clicks Client state: Keep a record of the clients current resources, subwindows, colors etc. Improved render functions: edit the screen contents using a more intuitive set of commands. Turtle graphics: Since those are basically already there :)  Stay tuned for some tutorials on how to use the API and plenty more posts exploring the depth...

Hello, My Name Is 422018032942 And So On...

The first thing every Aberoth player has to do is... become an Aberoth player! And for that, he or she has to create a new character. Now, depending on the Aberoth client, there are different ways to go about this, either going totally random by using the HTML5 client, having some more options by using the stand-alone client or even choosing the starting realm by using Steam. However, even though there are multiple different clients to choose from, there is only one server that has to interact with all of them. This already hints towards the fact that it might be possible to create a new character with all the options that the steam client offers, but using, let's say the stand-alone client. Turns out this is true - and it's actually really simple: Technically, creating a new character is not at all different from a normal login - it's just a special case of login, where the player name is a bunch of numbers which cause the server to start you off in the orcish prison wit...

Welcome

Welcome to AberothIncendium. I am Delphi1024 (aka Del96). On this blog, I talk about the technical side of the MMORPG Aberoth and trying to explain some related topics of computer-science. This blog will be very different from your typical Aberoth blog, since it does not focus on gameplay, but rather on the tech that keeps that gameplay up and running. Have Fun!