About the porting process

I want to be transparent about some tools I'm using for developing this project.

I'm using AI assisted programming tools to help port Xivio's original Adobe Flash and ActionScript client to HTML5, JavaScript, and CSS, while preserving its original Java server infrastructure and multiplayer functionality.

That doesn't mean this has been easy. I've been teaching myself HTML5, CSS, and JavaScript, while also learning the tools used to build and run the project. That includes understanding how the server works, how the database stores information, and how changes can affect those systems. I'm working to understand the tools well enough to recognize problems & troubleshoot them. I'm also learning to test changes and check that features work as intended. I'm not using AI-generated artwork, nor am I using Xivio's original artwork to train AI models. The original artwork is being preserved and used for the purpose of faithfully recreating the game. I believe Xivio's original assets deserve to be respected.

Project credits

Xivio's original creation is credited to Emmanuel/Paradox.

For creating Sparky, the prototype that became Xivio, and shaping the original game into what we came to find so much joy in playing. Emmanuel led its development and maintained the original Xivio, building its core systems, website, interface, and much of its artwork, while bringing together contributions from other developers, artists, and the community.

This revival builds on his years of work and imagination. From its earliest beginnings, to the world we remember, his vision made Xivio possible.

Xivio's original avatar artwork is credited to Ahn Na Yi.

Xivio's original 3D engine was written by Florian Krüsch.

Almost all of the original Xivio artwork comes directly from preserved Xivio files that have been kept safe by Bubby4j. Our entire community would not be possible without his dedication.

Thank you to the original Xivio creators for the world, characters, artwork, sounds and interface that helped rebuild this unique 3D world. This version preserves original assets while rebuilding the browser experience and adding modern account, room and community features.

All assets and artwork are credited to their original creators whom we may have no way of crediting directly due to not knowing their names or identity. They are remembered respectfully in the hopes that we may one day be able to add their names to this list.

This revival is maintained by Todd Odebralski.

If you would like to reach out you may contact Todd directly on probablymoldy.net.

Resource websites

Streamline
The non-Xivio icons used in the game toolbar and chat bubble/whisper controls.
MoMG: GIF Gallery — Melonking
GIFs and picture-frame border and backing artwork used by player-configured Frame objects. Images are hosted by the gallery and selected using their numeric GIF IDs. Gallery information and hotlinking guidance.
X-Core on SourceForge
The original Xivio World Server Java core and legacy server files used as the foundation for porting. The project is shared on SourceForge by bubby4j and nukomi.

Development tools

Java compiler (javac)
Compiling the Java server components.
JPEXS Free Flash Decompiler (FFDec)
Inspecting original Flash files and exporting artwork, textures and animation references.
.NET C# compiler (csc)
Building the Xivio Server Windows launcher.
Node.js
Running JavaScript development checks and tests for the browser game.
OpenAI Codex
Assistance with programming, asset investigation, interface changes, debugging and testing.
PowerShell
Running build scripts and managing the local development workflow.
Python
Converting original assets, importing models and rooms, restoring face animation data, and checking server features.

What runs the game, website and server

Caddy
Serves the website and routes API and WebSocket connections to the appropriate services.
Cloudflare Tunnel / cloudflared
Connects the public website address to the locally hosted services.
HTML, CSS and JavaScript
The website and browser client. A custom JavaScript renderer draws the original 3D models using the browser's Canvas 2D API. Flash is not required to play.
Java and X-Core
The original multiplayer server, including Apache MINA networking, BeanShell scripts and the MySQL JDBC connector.
MariaDB and SQL
Persistent storage for accounts, avatars, rooms, items, Vio, mail, friends, Hompy and forum content.
Python
The website API, account and gameplay services, WebSocket bridge, server management, backups and cleanup. PyMySQL connects these services to the database; the websockets library connects browser sessions to the original server.
Windows, C# and .NET Windows Forms
The Xivio Server desktop launcher, with start/stop/restart controls, backup status and cleanup. Windows command scripts also provide local startup and recovery shortcuts.