The D3classic server, ported to C++.
Porting it for better maintainability and for fun.
Port the primary server functionality (See issue #1)First pass refactor- Bring up to date with latest CPE (In Progress)
- Second pass refactor
- Bring in lesser used features if requested
Currently, there are a few parts of the existing D3 server that I'm not planning to port. Those are:
- Map Overview Images
- Multi-Language support
- Building text from a font .png file
- External C/C++ Plugins
If you would like those reach out to let me know, and of course Pull Requests are welcome if you would like to contribute.
- Install VSCode, msys2 (x64)
- Install the winpthread library (pacman -S mingw-w64-clang-x86_64-libwinpthread-git)
- Install the dev zlib library (pacman -S zlib-devel)
- Install the CMake Library (pacman -S mingw-w64-x86_64-cmake)
- Install the Lua Library (pacman -S mingw-w64-x86_64-lua)
- Add msys mingw64 to your PATH.
- Open VSCode, install the CMake Tools and C++ Plugins.
- Open the command pallet (ctrl+shift-p), go to preferences: open settings.json, and enter the following (replacing for your path if different);
"cmake.cmakePath": "C:\\msys64\\mingw64\\bin\\cmake.exe",
"cmake.mingwSearchDirs": ["C:\\msys64\\mingw64\\bin"],
"cmake.generator": "MinGW Makefiles",
- Restart VS code
- Clone the repo and open it
- Configure your C++ kits to GCC/Mingw32 (may require a manual scan)
- Press the build button!
- Make sure you have Visual Studio with C++ Make tools installed
- Install vcpkg (instructions here)
- install the requisite libraries (
vcpkg install Lua
,vcpkg install SQLite3
,vcpkg install zlib
) 3a. If you are using 64 bit builds, add :x64-windows to the end (vcpkg install SQLite3:x64-windows
) - Clone the repo and open visual studio. Use the open folder option to open the folder.
- CMake should auto-detect and autoconfigure, and you should be good to go!
These instructions used on Fedora
- install your distros build-essential files
- clone the repo and open it up in terminal
- mkdir build && cd build
- cmake ../
- make