Commit graph

30 commits

Author SHA1 Message Date
kuwacom 7315fcbc92 refactor: clean up and refactor the code
- unify duplicated implementations that were copied repeatedly
- update outdated patterns to more modern ones
2026-03-11 17:48:05 +09:00
kuwacom cfa0a7de7f add: add Whitelist to Dedicated Server 2026-03-11 17:16:36 +09:00
kuwacom 4ad824713f update: check for the existence of GameHDD and create 2026-03-08 23:02:52 +09:00
kuwacom b31e5ce597 update: update Dedicated Server developer guide
English is machine translated.
Please forgive me.
2026-03-08 22:53:23 +09:00
kuwacom aa6692426d fix: replace shutdown flag with atomic variable for thread safety 2026-03-08 22:27:14 +09:00
kuwacom 2979755454 fix: fixed the save logic during server shutdown
Removed redundant repeated saves and eliminated the risks of async writes.
2026-03-08 20:01:23 +09:00
kuwacom 590241c5ef fix: fix stop command shutdown process
add dedicated server shutdown request handling
2026-03-08 18:23:29 +09:00
kuwacom 8b68b81ffa add: add ban and pardon commands for Player and IP 2026-03-08 17:14:14 +09:00
kuwacom 842ffe2760 fix: added the updated library source 2026-03-08 15:41:10 +09:00
kuwacom 71fd1e3a62 add: significantly improved the dedicated server logging system
- add ServerLogManager to Minecraft.Server as the single entry point for dedicated-server log output
- forward CMinecraftApp logger output to the server logger when running with g_Win64DedicatedServer
- add named network logs for incoming, accepted, rejected, and disconnected connections
- cache connection metadata by smallId so player name and remote IP remain available for disconnect logs
- keep Minecraft.Client changes minimal by using lightweight hook points and handling log orchestration on the server side
2026-03-08 15:22:00 +09:00
kuwacom c91efe0095 update: changed file read/write operations to use FileUtils.
- As a side effect, saving has become faster!
2026-03-08 10:31:00 +09:00
kuwacom b535baa7c6 add: Dedicated Server BAN access manager with persistent player and IP bans
- add Access frontend that publishes thread-safe ban manager snapshots for dedicated server use
- add BanManager storage for banned-players.json and banned-ips.json with load/save/update flows
- add persistent player and IP ban checks during dedicated server connection handling
- add UTF-8 BOM-safe JSON parsing and shared file helpers backed by nlohmann/json
- add Unicode-safe ban file read/write and safer atomic replacement behavior on Windows
- add active-ban snapshot APIs and expiry-aware filtering for expires metadata
- add RAII-based dedicated access shutdown handling during server startup and teardown
2026-03-08 10:15:13 +09:00
kuwacom da284c1387 add: add FileUtils
Moved file operations to `utils`.
2026-03-08 10:13:36 +09:00
kuwacom 49f41b8bce add: add nlohmann/json json lib 2026-03-08 01:08:23 +09:00
kuwacom 71cd0d3630 update: add note about issue 2026-03-07 20:24:10 +09:00
kuwacom 891052e208 add: create Minecraft.Server developer guide in English and Japanese 2026-03-07 20:18:35 +09:00
kuwacom 35f81c6e4f update: converted Japanese comments to English 2026-03-07 20:12:17 +09:00
kuwacom fa09e28572 add: implement StringUtils for string manipulation and refactor usages
Unified the scattered utility functions.
2026-03-07 17:39:37 +09:00
kuwacom 5f118ca6a4 update: enhance command line completion with predictive hints
Like most command line tools, it highlights predictions in gray.
2026-03-07 16:56:56 +09:00
kuwacom 965a859b40 add: add implementing interactive command line using linenoise
- Integrated linenoise library for line editing and completion in the server console.
- Updated ServerLogger to handle external writes safely during logging.
- Modified ServerMain to initialize and manage the ServerCli for command input.
- The implementation is separate from everything else, so it doesn't affect anything else.
- The command input section and execution section are separated into threads.
2026-03-07 16:48:58 +09:00
kuwacom 9e4052ece5 update: add LAN advertising configuration for server.properties
LAN-Discovery, which isn’t needed in server mode and could potentially be a security risk, has also been disabled(only server mode).
2026-03-07 11:51:38 +09:00
kuwacom 31bfb7e428 update: add basically all configuration options that are implemented in the classes to server.properties 2026-03-07 01:21:04 +09:00
kuwacom b8d62896dd fix: add initial save for newly created worlds in dedicated server
on the server side, I fixed the behavior introduced after commit aadb511, where newly created worlds are intentionally not saved to disk immediately.
2026-03-06 21:55:00 +09:00
kuwacom 392dfdad1f update: changed the virtual screen to 720p
Since the crash caused by the 720p `skinHud.swf` not being included in `MediaWindows64.arc` has been resolved, switching back to 720p to reduce resource usage.
2026-03-06 19:13:41 +09:00
kuwacom b4eb98e4e2 fix: dedicated server build settings for miniaudio migration and missing sources
- remove stale Windows64 Miles (mss64) link/copy references from server build
- add Common/Filesystem/Filesystem.cpp to Minecraft.Server.vcxproj
- add Windows64/PostProcesser.cpp to Minecraft.Server.vcxproj
- fix unresolved externals (PostProcesser::*, FileExists) in dedicated server build
2026-03-06 18:45:50 +09:00
kuwacom 7cb41782c1 fix: change virtual screen resolution to 1920x1080(HD)
Since 31881af56936aeef38ff322b975fd0 , `skinHud.swf` for 720 is not included in `MediaWindows64.arc`,
the app crashes unless the virtual screen is set to HD.
2026-03-05 10:00:19 +09:00
kuwacom 965676f495 update: update keyboard and mouse input initialization 1dc8a005ed 2026-03-05 09:38:18 +09:00
kuwacom 1d9dccb7bd update: implement enhanced logging functionality with configurable log levels 2026-03-05 07:43:37 +09:00
kuwacom 6d44e40b4e add: refactor world loader & add server properties
- Introduced ServerLogger for logging startup steps and world I/O operations.
- Implemented ServerProperties for loading and saving server configuration from `server.properties`.
- Added WorldManager to handle world loading and creation based on server properties.
- Updated ServerMain to integrate server properties loading and world management.
- Enhanced project files to include new source and header files for the server components.
2026-03-05 07:31:49 +09:00
kuwacom e4c8229e52 add: Dedicated Server implementation
- Introduced `ServerMain.cpp` for the dedicated server logic, handling command-line arguments, server initialization, and network management.
- Created `postbuild_server.ps1` script for post-build tasks, including copying necessary resources and DLLs for the dedicated server.
- Added `CopyServerAssets.cmake` to manage the copying of server assets during the build process, ensuring required files are available for the dedicated server.
- Defined project filters in `Minecraft.Server.vcxproj.filters` for better organization of server-related files.
2026-03-04 18:12:26 +09:00