cuwo Open Server and Utilities for Cube World
cuwo is a standalone, open multiplayer server in Python 2.x. It currently has the best protocol coverage of all the server projects out there, and has features like Cross-platform (Windows, Mac OS X, Linux, FreeBSD, what have you)
- Cross-platform support (Windows, Mac OS X, Linux, FreeBSD, what have you)
- File/console logging
- MOTD message
- Scripting (see the minimal welcome.py example)
- Advanced configuration
- Ban system
- Commands (/kick, /say, /whereis, /setclock, /kill, /stun. etc.)
- Rights management (/login password)
- IRC bot
- Unified console/IRC/in-game command system
- PvP script
- DDoS prevention
- Lower CPU requirements than normal server
- Master server on http://mp2.dk/cuwo
- Support for 40+ players
... and much more!
If you would like to work on a web interface, the script interface, new commands or perhaps even on the dissection of the protocol, the server is open-source under the GPL, so you can change it freely. Patches/pull requests are welcome!
It should also be said that cuwo is not only a standalone server project, and has some additional tools, like cub/qmo file conversion
Proxy server (for reverse-engineering and packet manipulation/injection)
In terms of gameplay, the following has been implemented:
- Player join/leave
- Player movement and animations
- Magic/arrows/etc. relay
- Player hits on entities/other players
- Item pickup/drop
- Time management
A lot is still to be implemented gameplay-wise. Most importantly, NPCs and mobs have not been implemented yet. We still need to rip out the terrain generator, and once that's done, NPCs and mobs should be completely doable.
There is also a working MITM proxy that can inject packets. It's useful for reverse-engineering the protocol and can be used as an alternative to a standalone server.
There is also a working Cube World/Qubicle model converter. Find it in the 'tools' folder.
Q. How do I pronounce 'cuwo'?
A. 'coo-woo' (no, not 'kew-woh')
Q. I am not a programmer, and I can't reverse-engineer anything. How do I help?
A. We need people who can create end-user documentation as well! Have a look around, and see if anything is missing in the wiki.
Q. What is a MITM proxy?
A. A MITM proxy sits between your client and server, and can manipulate and inject packets. It's not really useful for the normal user, so use the regular cuwo server instead.
We have an IRC channel on #cuwo@EsperNet, so feel free to join us!