mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 02:43:44 +00:00
Staff list contraband items on a new dashboard page (item search, reason, flag or flag and remove; contraband_manage to edit, reports_view to see). World servers check every inventory when a character loads and every item a player receives: each find is an economy flag of the new kind Contraband, shown with the other flags and in the character's related data. Items marked for removal are taken away, with a character snapshot kept first so they can be given back, an audit entry and a mail or chat message telling the player why. Staff are skipped unless contraband_ignore_staff is off. Worlds reload the list when it changes (RELOAD_CONTRABAND, added at the end of ePlayerAction). Fixes #1563 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
96 lines
2.8 KiB
CMake
96 lines
2.8 KiB
CMake
set(DASHBOARDROUTES_SOURCES
|
|
"APIRoutes.cpp"
|
|
"StaticRoutes.cpp"
|
|
"DashboardRoutes.cpp"
|
|
"WSRoutes.cpp"
|
|
"AuthRoutes.cpp"
|
|
"RouteUtils.cpp"
|
|
"PlayerActions.cpp"
|
|
"AccountRoutes.cpp"
|
|
"ClientAssets.cpp"
|
|
"MaintenanceRoutes.cpp"
|
|
"ReportRoutes.cpp"
|
|
"EconomyPlaces.cpp"
|
|
"SecurityRoutes.cpp"
|
|
"WebhookRoutes.cpp"
|
|
"EconomyJobs.cpp"
|
|
"LiveWorld.cpp"
|
|
"SettingsRoutes.cpp"
|
|
"Background.cpp"
|
|
"Scheduler.cpp"
|
|
"SettingsCatalog.cpp"
|
|
"BackupRoutes.cpp"
|
|
"BackupFiles.cpp"
|
|
"ReportViews.cpp"
|
|
"CharacterTools.cpp"
|
|
"CharacterRestore.cpp"
|
|
"MissionTools.cpp"
|
|
"CharacterProgress.cpp"
|
|
"ServerRoutes.cpp"
|
|
"LeaderboardRoutes.cpp"
|
|
"VanityRoutes.cpp"
|
|
"ChatRoutes.cpp"
|
|
"Strikes.cpp"
|
|
"Inspector.cpp"
|
|
"CDClientBrowser.cpp"
|
|
"SettingsHistory.cpp"
|
|
"Announcements.cpp"
|
|
"EventsCalendar.cpp"
|
|
"LiveEventRoutes.cpp"
|
|
"ChallengeRoutes.cpp"
|
|
"InstanceLoad.cpp"
|
|
"WorldView.cpp"
|
|
"NifFile.cpp"
|
|
"Scenery.cpp"
|
|
"WorkerPool.cpp"
|
|
"Workers.cpp"
|
|
"AccountModeration.cpp"
|
|
"ModerationTools.cpp"
|
|
"ModeratorHelper.cpp"
|
|
"../ai/ClaudeClient.cpp"
|
|
"../ai/ModeratorPrompt.cpp"
|
|
"PublicRoutes.cpp"
|
|
"Showcase.cpp"
|
|
"FeaturedProperties.cpp"
|
|
"ContrabandRoutes.cpp"
|
|
"PasswordRecovery.cpp"
|
|
"PrometheusMetrics.cpp"
|
|
"../email/SmtpClient.cpp"
|
|
"../email/EmailService.cpp"
|
|
"../email/OAuth2.cpp"
|
|
"../notify/WebhookFormat.cpp"
|
|
"../notify/Alerts.cpp"
|
|
# Shared with the world servers, which add items and models the same way
|
|
"${PROJECT_SOURCE_DIR}/dGame/dUtilities/ObjectIDManager.cpp"
|
|
)
|
|
|
|
add_library(DashboardRoutes STATIC ${DASHBOARDROUTES_SOURCES})
|
|
|
|
target_include_directories(DashboardRoutes PRIVATE
|
|
"${PROJECT_SOURCE_DIR}/dCommon"
|
|
"${PROJECT_SOURCE_DIR}/dCommon/dClient"
|
|
"${PROJECT_SOURCE_DIR}/dCommon/dEnums"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/CDClientDatabase"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/CDClientDatabase/CDClientTables"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase/ITables"
|
|
"${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase/MySQL"
|
|
"${PROJECT_SOURCE_DIR}/dNet"
|
|
"${PROJECT_SOURCE_DIR}/dWeb"
|
|
"${PROJECT_SOURCE_DIR}/dServer"
|
|
"${PROJECT_SOURCE_DIR}/thirdparty"
|
|
"${PROJECT_SOURCE_DIR}/thirdparty/nlohmann"
|
|
"${PROJECT_SOURCE_DIR}/thirdparty/libbcrypt/include"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/auth"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/routes"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/email"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/notify"
|
|
"${PROJECT_SOURCE_DIR}/dDashboardServer/ai"
|
|
"${PROJECT_SOURCE_DIR}/dChatFilter" # word rules for the chat filter page
|
|
"${PROJECT_SOURCE_DIR}/dGame/dUtilities" # ObjectIDManager.h
|
|
)
|
|
|
|
target_compile_definitions(DashboardRoutes PRIVATE PROJECT_VERSION="\"${PROJECT_VERSION}\"")
|
|
target_link_libraries(DashboardRoutes PRIVATE ${COMMON_LIBRARIES} dWeb dServer sqlite3 OpenSSL::Crypto CURL::libcurl)
|