Custom Server Source


![]( Sequoia is a custom Maple server emulator written from the ground up in Kotlin. Unlike nearly all of the existing open-source, Java sources out there, Sequoia is not Odin-based whatsoever. As a result, it is not weighed down by countless bugs and exploits plaguing Odin derivatives, therefore leading to a much more stable gameplay experience. Additionally, all of the scripts were rewritten in Lua in a much safer way, making them much easier to maintain and more stable as well. Notable features include: - Better channel crash detection. Channels can be restarted without having to restart the entire server, and you can't accidentally log into a channel while it's down. - Characters cannot get stuck. - Support for logging into multiple characters within the same account simultaneously. - Improved synchronization handling for shared data, preventing deadlocks entirely. - Significantly improved data saving and autosaving that should make data loss and rollbacks virtually non-existent outside of major crashes. - Fast startup time, typically under two seconds. One of the biggest motivations behind writing a new source was to better support multiple versions without having to create new forks for each version, which is one of the major problems with most public Maple sources today. As a result, Sequoia currently supports v62 and v83 (WIP), while still allowing us to add support for our custom protocol without modifying any of the existing internal code. For some technical information, this is Sequoia's technology stack: - Kotlin for the core server code, using Gradle for building. - Runs with Java 8 and up - Lua for scripts - This is simply what the built-in scripts use, but it is possible to add support for other scripting languages (i.e. JavaScript, Python, etc.) - Netty for networking - HOCON for configuration files - PostgreSQL for storage (with support for MySQL and SQLite planned)