Skip to content

Repository files navigation

WatermelonClient

WatermelonClient

Customized Cfx.re/FiveM client and FXServer source tree for the Watermelon ecosystem.

Private Source · Custom Launcher · Runtime Updater · Custom Auth · Anti-Cheat


Overview

WatermelonClient is a customized Cfx.re/FiveM client and server stack with launcher branding, custom authentication, launcher UI, runtime update delivery, and anti-cheat integration.

This repository is intended to stay private. It contains client, server, UI, release tooling, and private integration points that should not be distributed as a public source release.

Included Systems

Area Description
Launcher WatermelonClient bootstrap, installer, updater, branding, and update URL handling.
Runtime Customized Five client runtime components and identity bridge.
FXServer Custom authentication, ticket verification, identifiers, and HWID mapping.
Launcher UI Login, register, server preview, account, and launcher frontend under ext/cfx-ui.
Anti-Cheat Watermelon anti-cheat component, local detection, and backend log reporting.
Release Tools Bootstrap/runtime packaging and upload scripts for the Watermelon runtime backend.

Important Paths

Path Purpose
code/client/launcher Bootstrap, installer, updater, and launcher branding.
code/components Client runtime components and custom native modules.
code/components/citizen-server-impl/src FXServer custom auth and identity logic.
code/components/watermelon-anticheat Watermelon anti-cheat source.
ext/cfx-ui/src/cfx/apps/mpMenu Launcher UI source.
tools Runtime/bootstrap upload and maintenance scripts.
docs Build, release, and project documentation.
.docs Internal GitHub workflow and maintainer notes.

Documentation

Quick Start

Fresh checkout and project generation:

git clone https://github.com/mukii936/wsc.git -c core.symlinks=true
cd wsc
git submodule update --jobs=16 --init
git lfs install
git lfs pull
pip install setuptools
.\fxd.cmd get-chrome
.\prebuild.cmd
.\fxd.cmd gen -game five
.\fxd.cmd vs -game five

Use fxd vs -game five for normal development. Use direct MSBuild commands when rebuilding a specific release component.

Common Builds

Build launcher only:

& 'C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe' code\build\five\CitiLaunch.vcxproj /p:Configuration=Release /p:Platform=x64 /m:1 /v:minimal

Build anti-cheat:

& 'C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe' code\build\five\watermelon-anticheat.vcxproj /p:Configuration=Release /p:Platform=x64 /m:1 /v:minimal

Build common runtime components:

& 'C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe' code\build\five\glue.vcxproj /p:Configuration=Release /p:Platform=x64 /m:1 /v:minimal
& 'C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe' code\build\five\font-renderer.vcxproj /p:Configuration=Release /p:Platform=x64 /m:1 /v:minimal
& 'C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe' code\build\five\rage-graphics-five.vcxproj /p:Configuration=Release /p:Platform=x64 /m:1 /v:minimal

Release Uploads

Upload bootstrap:

powershell -ExecutionPolicy Bypass -File .\tools\upload-watermelon-bootstrap.ps1 -BackendBase "https://runtime.watermelonstudio.tech" -Version 1000002

Upload runtime:

powershell -ExecutionPolicy Bypass -File .\tools\upload-watermelon-runtime.ps1 -BackendBase "https://runtime.watermelonstudio.tech" -Version 3

Runtime packages must include:

citizen/version.txt
citizen/release.txt

Launcher UI packages should include:

citizen/ui_version.txt

Git Remotes

  • origin: private WatermelonClient source repository.
  • upstream: original Cfx.re/FiveM repository.

Check remotes:

git remote -v

Sync upstream only when intentionally merging Cfx.re/FiveM changes into WatermelonClient. Review conflicts carefully around launcher, auth, updater, UI, and anti-cheat files.

Private Files

Do not commit production secrets or local build output.

Private file examples:

  • code/components/watermelon-anticheat/include/Local.h
  • .env
  • .env.*
  • tmp/
  • code/bin/
  • code/build/
  • out/

Use this public template instead:

  • code/components/watermelon-anticheat/include/Local.h.example

Security Checklist

Before every push:

git status --short
git diff --cached --name-only
rg -n "JWT_SECRET|TICKET_SECRET|DB_PASSWORD|DATABASE_URL|CLIENT_UPDATE_ADMIN_KEY|LAUNCHER_UI_ADMIN_KEY|ANTICHEAT.*SECRET" -S --hidden -g "!code/bin/**" -g "!code/build/**" -g "!tmp/**" -g "!code/components/watermelon-anticheat/include/Local.h"

Rules:

  • Keep the repository private.
  • Rotate any secret that was shared outside the private environment.
  • Never trust client-side secrets as an authorization boundary.
  • Ticket verification must remain server-authoritative.
  • Runtime update storage belongs in the backend, not in Git.

License

This repository is based on the Cfx.re/FiveM source tree. Review upstream licensing in code/LICENSE and keep any private/custom distribution compliant with the applicable license terms.

Acknowledgements and Contact

Thank you to the Cfx.re/FiveM team for the original project, tooling, and ecosystem that make this customized WatermelonClient work possible.

WatermelonClient is intended to respect the applicable upstream license terms and project boundaries. If any part of this repository, documentation, distribution, or integration is incorrect, incomplete, or unintentionally violates a rule or license requirement, please contact WatermelonStudio so it can be reviewed and corrected promptly.

About

WatermelonClient is a customized Cfx.re/FiveM client and FXServer source tree with custom launcher, authentication, updater, UI, and anti-cheat integration.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages