cuwo is an open server implementation for Cube World, written in Python and C++. It currently has the best protocol coverage among all the server projects out there, and has features like
Note that cuwo only supports x86 and x86-64, so it will not work on ARM.
See the quick-start guide for a quick way to get started.
Alternatively, you can also build from source.
Make sure you have Python >= 3.6, native compilers, and the following dependencies installed:
cython
pyrr
If you want IRC bot support, you will also need the irc3
package.
These packages can be installed with pip install cython pyrr irc3
To build cuwo, run python setup.py build_ext --inplace
.
To run the server, run python -m cuwo.server
.
For more information, see this guide.
In terms of the protocol and features, the following has been implemented:
A lot is still to be implemented gameplay-wise. Most importantly, NPCs and mobs have only recently been implemented, so expect some issues related to these.
Other features include
Q. I get ImportError: No module named 'cuwo.entity'
when running cuwo.
A. See the instructions for running/building cuwo.
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 on 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 to the normal user, so use the regular cuwo server instead.
9th - help with RE
Andoryuuta - native RE
BLACKROCK - for help on passive packet
ChrisMiuchiz - native patches and RE
ColdMeekly - help with AMD 64bit troubleshooting
cs475x - website design
DRayX - encrypt.py and protocol RE
Endimmion - for his generous Pledgie donation
Favorlock - scripting and commands
Kainzo - testing
Kyle - master server JS
Lord_Nightmare - terraingen help and support with x86
MAT4DOR - cub model details
MazeXD - master server JS and design
Perl - protocol RE
Sarcen - help with protocol variables, scripting, anticheat
SLoW - scripting
Somer - help with some protocol variables
uwee - protocol variables
Xaymar - RE and character details
ZeZeene - web interface for master server