From def6469b822526f140d2ecd82540de720631c22c Mon Sep 17 00:00:00 2001 From: David Markowitz Date: Tue, 17 Dec 2024 16:46:21 -0800 Subject: [PATCH 1/3] create resServer if not exist --- README.md | 10 ++++++---- dMasterServer/MasterServer.cpp | 1 + dServer/Server.cpp | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a402a163c..e13fc8d19 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,13 @@ Darkflame Universe is a server emulator and does not distribute any LEGO® Unive Warning: WSL version 1 does NOT support using sqlite as a database due to how it handles filesystem synchronization. You must use Version 2 if you must run the server under WSL. Not doing so will result in save data loss. * Single player installs now no longer require building the server from source or installing development tools. -* Download the [latest release](https://github.com/DarkflameUniverse/DarkflameServer/releases) and extract the files into a folder inside your client. -* You should be able to see the folder with the server executables in the same folder as `legouniverse.exe`. -* Open `sharedconfig.ini` and find the line that says `client_location` and put `..` after it so the line reads `client_location=..`. +* Download the [latest windows release](https://github.com/DarkflameUniverse/DarkflameServer/releases) and extract the files into a folder inside your client. +* You should be able to see the folder with the server files in the same folder as `legouniverse.exe`. +* Feel free to rename the folder with the server files to whatever you want. +* Go into the server files folder and open `sharedconfig.ini`. Find the line that says `client_location` and put `..` after it so the line reads `client_location=..`. * To run the server, double-click `MasterServer.exe`. -* You will be asked to create an account the first time you run the server. +* You will be asked to create an account the first time you run the server. After you have created the account, the server will shutdown and need to be restarted. +* To connect to the server, either delete the file `boot.cfg` which is found in your LEGO Universe client, rename the file `boot.cfg` to something else or follow the steps [here](#allowing-a-user-to-connect-to-your-server) if you wish to keep the file. * When shutting down the server, it is highly recommended to click the `MasterServer.exe` window and hold `ctrl` while pressing `c` to stop the server. * We are working on a way to make it so when you close the game, the server saves automatically alongside when you open the game, the server starts automatically. diff --git a/dMasterServer/MasterServer.cpp b/dMasterServer/MasterServer.cpp index e01ca255b..b764169a4 100644 --- a/dMasterServer/MasterServer.cpp +++ b/dMasterServer/MasterServer.cpp @@ -126,6 +126,7 @@ int main(int argc, char** argv) { MigrationRunner::RunMigrations(); const auto resServerPath = BinaryPathFinder::GetBinaryDir() / "resServer"; + std::filesystem::create_directories(resServerPath); const bool cdServerExists = std::filesystem::exists(resServerPath / "CDServer.sqlite"); const bool oldCDServerExists = std::filesystem::exists(Game::assetManager->GetResPath() / "CDServer.sqlite"); const bool fdbExists = std::filesystem::exists(Game::assetManager->GetResPath() / "cdclient.fdb"); diff --git a/dServer/Server.cpp b/dServer/Server.cpp index cd801a3b3..3b9ba2bb3 100644 --- a/dServer/Server.cpp +++ b/dServer/Server.cpp @@ -13,7 +13,7 @@ void Server::SetupLogger(const std::string_view serviceName) { const auto logsDir = BinaryPathFinder::GetBinaryDir() / "logs"; - if (!std::filesystem::exists(logsDir)) std::filesystem::create_directory(logsDir); + if (!std::filesystem::exists(logsDir)) std::filesystem::create_directories(logsDir); std::string logPath = (logsDir / serviceName).string() + "_" + std::to_string(time(nullptr)) + ".log"; bool logToConsole = false; From 9a5a85b54341acd48f3d5571cbfa86707ec9d6ad Mon Sep 17 00:00:00 2001 From: David Markowitz Date: Tue, 17 Dec 2024 17:04:28 -0800 Subject: [PATCH 2/3] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index e13fc8d19..2923bfaaf 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,8 @@ Darkflame Universe is a server emulator and does not distribute any LEGO® Unive Warning: WSL version 1 does NOT support using sqlite as a database due to how it handles filesystem synchronization. You must use Version 2 if you must run the server under WSL. Not doing so will result in save data loss. * Single player installs now no longer require building the server from source or installing development tools. -* Download the [latest windows release](https://github.com/DarkflameUniverse/DarkflameServer/releases) and extract the files into a folder inside your client. +* Download the [latest windows release](https://github.com/DarkflameUniverse/DarkflameServer/releases) (or whichever release you need) and extract the files into a folder inside your client. Note that this setup is expecting that when double clicking the folder that you put in the same folder as `legouniverse.exe`, the file `MasterServer.exe` is in there. * You should be able to see the folder with the server files in the same folder as `legouniverse.exe`. -* Feel free to rename the folder with the server files to whatever you want. * Go into the server files folder and open `sharedconfig.ini`. Find the line that says `client_location` and put `..` after it so the line reads `client_location=..`. * To run the server, double-click `MasterServer.exe`. * You will be asked to create an account the first time you run the server. After you have created the account, the server will shutdown and need to be restarted. From 7b72dcf57f98fa1b0d062ca9cffde792c3a7513e Mon Sep 17 00:00:00 2001 From: David Markowitz Date: Tue, 17 Dec 2024 17:05:35 -0800 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2923bfaaf..fc076dff9 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Darkflame Universe is a server emulator and does not distribute any LEGO® Unive * You will be asked to create an account the first time you run the server. After you have created the account, the server will shutdown and need to be restarted. * To connect to the server, either delete the file `boot.cfg` which is found in your LEGO Universe client, rename the file `boot.cfg` to something else or follow the steps [here](#allowing-a-user-to-connect-to-your-server) if you wish to keep the file. * When shutting down the server, it is highly recommended to click the `MasterServer.exe` window and hold `ctrl` while pressing `c` to stop the server. -* We are working on a way to make it so when you close the game, the server saves automatically alongside when you open the game, the server starts automatically. +* We are working on a way to make it so when you close the game, the server stops automatically alongside when you open the game, the server starts automatically. **If you are not planning on hosting a server for others, working in the codebase or wanting to use MariaDB for a database, you can stop reading here.**