Commit graph

32 commits

Author SHA1 Message Date
kuwacom 20c2e4653a add: add new CLI Console Commands for Dedicated Server
Most of these commands are executed using the command dispatcher implemented on the `Minecraft.World` side. When registering them with the dispatcher, the sender uses a permission-enabled configuration that treats the CLI as a player.

- default game.
- enchant
- experience.
- give
- kill(currently, getting a permission error for some reason)
- time
- weather.
- update tp & gamemode command
2026-03-14 00:55:30 +09:00
kuwacom 26dc63af6b refactor: refactor command path structure
As the number of commands has increased and become harder to navigate, each command has been organized into separate folders.
2026-03-13 00:14:20 +09:00
kuwacom cfa0a7de7f add: add Whitelist to Dedicated Server 2026-03-11 17:16:36 +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 dca2a73d4a Merge origin/main into feature/dedicated-server
Conflict resolution summary:

- CMakeLists.txt: kept main-side C++17/build-system updates and preserved the dedicated-server target, source list, and post-build asset copy steps.
2026-03-08 15:33:00 +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 b250be7387 fix: Re-added the source that had somehow disappeared. 2026-03-08 13:48:46 +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
void_17 b7bd9bb903 Move to newer C++17 language standard 2026-03-08 00:23:39 +07:00
GuglioIsStupid 38ce933fd5
voids request - Move the filesystem files to root/ as it will be used in both Minecraft.Client and Minecraft.World (#819)
* Move Filesystem to root/include/ as per devoiders request

* Filesystem -> lce_filesystem
2026-03-07 18:36:05 +07: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 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 0068ed581c Merge remote-tracking branch 'upstream/main' into feature/dedicated-server
# Conflicts:
#	.gitignore
#	CMakeLists.txt
#	Minecraft.Client/Common/Network/GameNetworkManager.cpp
2026-03-06 17:59:13 +09:00
hexlocation 34c22f6ab5
fix: properly detect host env. (#628) 2026-03-06 07:54:40 +07:00
GuglioIsStupid 8398eb16b8
Miniaudio Implementation (+stb_vorbis) (#624)
* Miniaudio Implementation

* Do not link miles + remove miles lib
2026-03-06 07:48:12 +07:00
Portal fcc9970ec6
Replace CopyAssets.cmake with multithreaded Robocopy (and rsync) implementation. (#410)
* Replace CopyAssets.cmake with Robocopy implementation.

* Replace CopyAssets.cmake with Robocopy implementation.
2026-03-05 14:30:22 +07:00
kuwacom 7137c44d7a Merge remote-tracking branch 'origin/main' into feature/dedicated-server
# Conflicts:
#	Minecraft.Client/Common/Network/PlatformNetworkManagerStub.cpp
#	Minecraft.Client/Windows64/Network/WinsockNetLayer.cpp
#	Minecraft.Client/Windows64/Network/WinsockNetLayer.h
2026-03-05 08:31:55 +09:00
daoge_cmd d112090fde feat: headless server 2026-03-04 17:29:43 +08:00
kuwacom eb75a935b3 Merge branch 'main' into feature/dedicated-server 2026-03-04 18:17:38 +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
daoge_cmd 1444581cb6 chore: remove duplicated /Ob3 flag from CMake Release optimization settings 2026-03-03 17:59:06 +08:00
daoge_cmd a97ee4aab1 chore: sync VS Release warning-disable setting into CMake 2026-03-03 17:45:25 +08:00
daoge_cmd 2915044f95 chore: sync VS release optimization flags into CMake build 2026-03-03 17:40:21 +08:00
daoge_cmd 6d4ce5136c fix: fix executable icon when using cmake 2026-03-03 17:40:21 +08:00
void_17 796a743b75 remove dynamic shcore dependency
Almost forgot it. https://github.com/smartcmd/MinecraftConsoles/pull/160
2026-03-03 02:19:57 +07:00
daoge b3feddfef3
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict

* feat: TU19 (Dec 2014) Features & Content (#32)

* December 2014 files

* Working release build

* Fix compilation issues

* Add sound to Windows64Media

* Add DLC content and force Tutorial DLC

* Revert "Add DLC content and force Tutorial DLC"

This reverts commit 97a4399472.

* Disable broken light packing

* Disable breakpoint during DLC texture map load

Allows DLC loading but the DLC textures are still broken

* Fix post build not working

* ...

* fix vs2022 build

* fix cmake build

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-03-03 03:04:10 +08:00
void_17 7ad6102763
Revert "Revert "fix: fix resolution detection (#133)" (#143)" (#144)
This reverts commit 8c18926d59.
2026-03-02 23:01:57 +07:00
void_17 8c18926d59
Revert "fix: fix resolution detection (#133)" (#143)
This reverts commit afa4efbc85.
2026-03-02 22:56:56 +07:00
daoge afa4efbc85
fix: fix resolution detection (#133)
* fix: fix UI skin/scene resolution mismatch and readd screen resolution detection

* fix: fix build in vs2022
2026-03-02 23:52:18 +08:00
isaiah 5109b8c07a Add CMake build system and source files for Minecraft Client
- Created Compile.md with detailed instructions for building the project using Visual Studio and CMake.
- Added ClientSources.cmake to define the source files for the Minecraft Client.
- Implemented CopyAssets.cmake to handle asset copying during the build process.
- Introduced WorldSources.cmake to list the source files for Minecraft world functionalities.
2026-03-01 15:47:31 -07:00