Aion GeoBuilder filters relevant level data from the Aion game client and converts it into compact files for our server emulator.
It is a rewrite of GeoDataBuilderJ and parses the following data:
- Terrain heightmaps
- Terrain surface materials
- Static entities: brushes and objects (vegetation)
- Dynamic entities: doors, town objects, event objects and spawnable objects with entity IDs (called "static_id" in most Aion server emulators)
- Mesh materials/collision intentions
Currently not supported:
- Animated entities other than doors (elevators, air ships, etc.)
- Navmesh generation
The file generation uses various methods to reduce file sizes and server memory usage, some of which can be deactivated for debugging purposes.
- Java 21 or later
- Maven
mvn package
java -jar target/geobuilder.jar "path/to/the/game/client"
Optional arguments control what data will be processed. Run the program without passing a game client path or other arguments to see all options.
- PyFFI + QSkope (*.cgf/.cga file analyzer)
- CryEngine asset converter (partly based on PyFFI's cgf.xml)
- CryEngine source code
- C# port of GeoDataBuilderJ, client file viewer and Monono2 (level viewer)
- GeoDataBuilderJ_src_20120911.zip (original repo is lost in time)