Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
30c820c
First draft at glaze cpp
arves100 Apr 14, 2025
c88a919
More refactoring work
arves100 May 9, 2025
62d753e
Remove bad command line (oops)
arves100 May 13, 2025
1f1cd0c
Convert another bunch of code to the new structure (coroutines, packe…
arves100 May 13, 2025
2aefaab
Fix compilation issues
arves100 May 14, 2025
dc7096a
Complete glaze+handlers refactoring (now it's time for the handlers)
arves100 May 14, 2025
31adaf6
Implement loading of Featurecheck JSON
arves100 May 14, 2025
42d6091
Remove AppVersion
arves100 May 16, 2025
20eaa42
Implement cached loading of Initialize response MSTs
arves100 May 19, 2025
1e1fdd1
Complete gme conversion mostly with compilation ok
arves100 May 29, 2025
c7aa3fb
Add features.json
arves100 Jun 5, 2025
d6778c4
Remove old code
arves100 Jul 11, 2025
d04b98a
Complete loading of data for initialize resp, now it's testing time
arves100 Jul 11, 2025
5319c7f
Continue with fixes and general updates
arves100 Aug 22, 2025
d41bc3a
Adjust deploy for new packets
arves100 Aug 29, 2025
94baee0
More updates and bugfixes almost initresp is ok
arves100 Aug 29, 2025
643d4db
Sync packet-generator to last version
arves100 Sep 9, 2025
c63df0d
Update vcpkg baseline and cmd args
arves100 Sep 9, 2025
fa16ba9
Remove old file
arves100 Sep 10, 2025
96efddf
Add the remaning jsons
arves100 Sep 11, 2025
4d185f3
Merge branch 'glazecpp' of https://github.com/decompfrontier/server i…
arves100 Sep 11, 2025
102c4ed
Fix dump log not working correctly
arves100 Sep 11, 2025
596da62
Merge branch 'glazecpp' of https://github.com/decompfrontier/server i…
arves100 Sep 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "packet-generator"]
path = packet-generator
url = https://github.com/decompfrontier/packet-generator
22 changes: 18 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.21)
project(GimuServer)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 20)

if ("${GIMUSRV_FRONTEND}" STREQUAL "STANDALONE")
set(STANDALONE TRUE)
Expand All @@ -11,14 +11,28 @@ else()
message(FATAL_ERROR "Invalid frontend configuration")
endif()

set(SERVER_VERSION_REV 1) # Increment this when a new release happens
set(SERVER_YEAR "2022-2024")
set(SERVER_ISSUE_URL "https://www.github.com/decompfrontier/server/issues/")
if (MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8 /MP")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8 /MP")
endif()

set(SERVER_HOME_PAGE "https://decompfrontier.github.io/")

find_package(cryptopp CONFIG REQUIRED)
find_package(Drogon CONFIG REQUIRED)
find_package(unofficial-sqlite3 CONFIG REQUIRED)
find_package(glaze CONFIG REQUIRED)

# packet generator import
add_library(pkgenruntime INTERFACE
packet-generator/runtime/cpp/date.h
packet-generator/runtime/cpp/glaze_helpers.hpp
)
target_include_directories(pkgenruntime INTERFACE ${CMAKE_CURRENT_LIST_DIR}/packet-generator/runtime/cpp)

if (MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8 /MP") # TODO: Enable /Wall, /WX and /permissive-
endif()

add_subdirectory(gimuserver)

Expand Down
4 changes: 4 additions & 0 deletions _generate_pk.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@echo off
cd packet-generator\
python packet-generator.py -l c++ -s * -o ../gimuserver/packets/
cd ..\
4 changes: 4 additions & 0 deletions _generate_pk.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
cd packet-generator/
python packet-generator.py -l c++ -s * -o ../gimuserver/packets/
cd ../
15 changes: 0 additions & 15 deletions config-sample.json

This file was deleted.

51 changes: 50 additions & 1 deletion deploy/config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
// Server listener (http://127.0.0.1:9960/)
"listeners": [
{
"address": "127.0.0.1",
Expand All @@ -9,10 +10,58 @@
"cert": "bf.crt"
}
],
// Drogon app configuration
"app": {
"number_of_threads": 2,
"log": {
"log_level": "TRACE"
},
// session
"enable_session": true,
"session_timeout": 1200,
// document root
"document_root": "./game_content"
},
// Configure sqlite database
"db_clients": [
{
"name": "default", // DO NOT CHANGE THIS NAME OR THE CODE MIGHT NOT WORK!!
"rdbms": "sqlite3", // you can use pgsql or mysql if you want a complex deploy
"host": "127.0.0.1",
"port": 0,
"dbname": "gme",
"user": "",
"passwd": "",
"is_fast": false, // use DbClient
"connection_numbr": 1,
"filename": "./gme.sqlite"
}
],
"plugins": [
{
// main plugin: the game server (do not remove this one)
"name": "GimuServer",
"dependencies": [],
"config": {
"extra_log": {
"enable": true, // also only enabled in TRACE level logging
"directory": "./log",
"http_log_prefix": "http_log",
"http_log_suffix": ".log",
"dlc_error_log_name": "dlc_404.log"
},
"server": {
"wallpaper_banner": "/wallpaper/title_logo20151028.jpg", // login wallpaper
"game_version": 21900, // game version (must be this one or it might cry about an update)
"notice_url": "http://ios21900.bfww.gumi.sg/pages/versioninfo", // notice url (this points to a drogon orm page)
"mst_root": "./system", // MST cache directory
"initial_level": 1,
"initial_free_gems": 5,
"initial_zel": 10000000,
"initial_karma": 10000000,
"initial_bcoins": 0
}
}
}
}
]
}
20 changes: 0 additions & 20 deletions deploy/gimuconfig.json

This file was deleted.

37 changes: 37 additions & 0 deletions deploy/system/TEMP_daily_tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"k23D7d43": [
{
"a3011F8b": "",
"22rqpZTo": "0",
"bya9a67k": "0",
"M7yKr4c1": "Achieve 3 Victories in The Arena ",
"O36Qv37k": "AV",
"T4bV8aI9": "20",
"Y3DbX5ot": "3",
"9cKyb15U": 0,
"hd2Jf3nC": "Arena Victory"
},
{
"a3011F8b": "",
"22rqpZTo": "0",
"bya9a67k": "0",
"M7yKr4c1": "Complete 1 Mission within the Vortex ",
"O36Qv37k": "VV",
"T4bV8aI9": "20",
"Y3DbX5ot": "1",
"9cKyb15U": 0,
"hd2Jf3nC": "Vortex Venturer"
},
{
"a3011F8b": "",
"22rqpZTo": "0",
"bya9a67k": "0",
"M7yKr4c1": "Craft 5 Items/Spheres ",
"O36Qv37k": "CM",
"T4bV8aI9": "20",
"Y3DbX5ot": "5",
"9cKyb15U": 0,
"hd2Jf3nC": "Craftsman"
}
]
}
5 changes: 5 additions & 0 deletions deploy/system/TEMP_daily_tasks_bonus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[
{
"k3bD738b": "10"
}
]
Loading