re: Icarus Server (Production) - [Python, Multi-DB/MySQL]
Changelog
- Sitting on chairs
- Laying on beds
- Applying floor/wall/landscape displays to rooms
- Fixed pathfinder so the user doesn't walk into beds/chairs at all unless their last position is their destination (just like official Habbo).
- Fixed bug where you can't sit on chairs if they're on a rug
- Fixed bug where buying an item doesn't update the inventory unless you reload it (achieved fix by re-sending inventory packet upon purchase).
Backend changelog
- Rewrote all composers to support dependency injection (interfaced the readers and response classes for reading/writing packets)
- Decoupled Netty so it's loaded as an extension, as in the "server" on the main project is all interfaced so you can easily switch it out and change the socket extension to support Apache MINA or the default Java network library.
Netty as a seperate project
You must be registered to see links
The extension configuration for the Netty project
You must be registered to see links
Code:
extension.socket.jar=extensions/Icarus_socket_netty.jar
extension.socket.entry=org.alexdev.icarus.netty.NettyServer
Loading libraries at runtime
(When running Icarus through an IDE, using -debug launch parameter will not load libraries at runtime, because the IDE will include them, but as a jar file, you must run without -debug parameter otherwise things will break, bad.)
I changed them to load at runtime because it allows for easy extension changing if someone wishes to use a different library, for example, switching from Netty to Apache MINA you can recompile small Icarus socket extension, change the library in the properties file without recompiling the main project.
:
You must be registered to see links
Code:
libraries=bonecp,guava,mysql,netty,slf4-api,slf4-simple
library.bonecp=bonecp-0.7.1.RELEASE.jar
library.guava=guava-11.0.2.jar
library.mysql=mysql-connector-java-5.1.6-bin.jar
library.netty=netty-3.10.5.Final.jar
library.slf4-api=slf4j-api-1.7.2.jar
library.slf4-simple=slf4j-simple-1.7.2.jar
Compiled releases of Icarus
A compiled release can be found here:
You must be registered to see links
(it will be most likely up to date, including bugs).
As long as you have the Java 1.8 installed, Icarus should boot up fine either by using run.bat (Windows) or running
You should just go with a basic Orthogonal 2D Pathfinder algorithm.
Sorry but there's no need now. I'm sorry.
: