July 16th, 2024

Building a Wow Server in Elixir

A developer documents building a World of Warcraft private server project, Thistle Tea, with Elixir. Challenges included cryptography, packet handling, and optimization. Utilized MaNGOS data, Shadowburn's code, and Elixir documentation. Implemented player features and database integration. Explored Elixir's benefits in MMO development.

Read original articleLink Icon
Building a Wow Server in Elixir

A developer is documenting the process of building a World of Warcraft private server project called Thistle Tea using Elixir. The project involves implementing authentication, realm list functionality, and game server features like character creation, player spawning, movement, and chat. The developer faced challenges with cryptography, packet handling, and optimizing packet size. They utilized existing resources like MaNGOS data, Shadowburn's code, and Elixir documentation to overcome obstacles. The project also involved implementing features like player visibility, equipment display, and database integration using Mnesia. The developer focused on learning Elixir and its ecosystem while gradually expanding the server's functionality. Despite encountering decryption issues and bugs, progress was made in creating a synchronized multiplayer experience. The project showcased the advantages of Elixir's message passing and concurrency model in handling MMO features effectively.

Related

Orb: Write WebAssembly with Elixir

Orb: Write WebAssembly with Elixir

Orb leverages Elixir's ecosystem to simplify WebAssembly writing, offering features like composable modules, Hex package manager, ExUnit testing, macros, and syntax highlighting. It enables Elixir code compilation to .wasm, supports reusable modules, and integrates existing Elixir libraries for MIME tasks, showcasing flexibility in WebAssembly development.

Elixir Gotchas

Elixir Gotchas

The article highlights common pitfalls in Elixir programming, including confusion between charlists and strings, differences in pattern matching, struct behavior, accessing struct fields, handling keyword lists, and unique data type comparisons.

Elixir for Humans Who Know Python

Elixir for Humans Who Know Python

The article explores transitioning from Python to Elixir, emphasizing Elixir's concurrency, Phoenix framework, LiveView feature, immutability, and pattern matching. It compares Elixir's functionalism and control flow to Python, showcasing Elixir's efficiency for web development.

Elixir Anti-Patterns

Elixir Anti-Patterns

The document discusses code-related anti-patterns in Elixir v1.18.0-dev, highlighting issues like comments overuse, complex 'with' expressions, dynamic atom creation, long parameter lists, and namespace conventions. It provides examples and refactoring suggestions to improve code quality and maintainability.

Building a World of Warcraft Server in Elixir

Building a World of Warcraft Server in Elixir

A developer documents building a World of Warcraft private server project named Thistle Tea with Elixir. Challenges included cryptography, packet handling, and optimization. Utilized MaNGOS data and Shadowburn's code. Integrated Mnesia database for management.

Link Icon 1 comments
By @Snacklive - 3 months
ok, i love this. I also wanted to experiment creating a wow server using Elixir. Glad to see others exploring the idea