Welcome to QuantumCore,
most people always told you me you are crazy, that's a waste of time don't do that.
But I don't care and still started this project, mostly as a learning process.
So what is QuantumCore you ask? QuantumCore is basically a server emulator for Metin2.
In comparison to what we currently mostly use this doesn't use any source code by Ymir/Webzen and is a full reimplementation of the 40k server.
This project is still in work and far from being completed.
So why do you already create a thread for this? First of all we need feedback from you guys of what the features are and what
we could improve even more.
In addition to a normal rewrite of the core this project is using more modern technology. The code base is based on C++17 and will include features of
C++20 as soon as it's officially released. Also we only test 64bit builds, no more 32bit builds. In addition to this we are automated building the core
against the current LLVM toolchain and automatically creating Docker images. We have started to implement Unit Testing for some core features,
and we will extend this to more code we write.
Also we are working on embedding AngelScript (and maybe even more languages in the future) to not only write quests but also to extend the core.
The main goal is that you can create most of the new systems in AngelScript with a resonable performance instead of modifying the core source code.
For example if you want to create a new command you could write the following plugin:
void main() {
command::RegisterCommand("test", TestCommand);
}
void TestCommand(game::Player@ player, string[] arguments) {
if(arguments.length() < 2) {
player.SendChatMessage(1, "/test [name]");
return;
}
player.SendChatMessage(1, "Hello from " + player.name + "(" + player.level + ") to " + arguments[1]);
}
We also using redis for caching fast changing fields, like player position, items etc.
The source code of this project will be licensed under the GPLv3 license. So you are free to modify the source code and use it for your project.
We would be also very happy if you contribute back your improvements to the core.
So what is the main goal?
- Providing a compatible game server to the clean 40k client
- Writing a modern, stable and scalable game server
- Keep the core extensible
Main repository: https://gitlab.com/quantum-core/core
Documentation: https://docs.quantum-core.io/index.html
With best regards,
QuantumCore Team
@arves100, @DevChuckNorris