Backend & Game Server Engineer · Syria
I build the software behind game servers: APIs, Discord tooling, licensing systems,
Minecraft plugins, and the infrastructure that keeps them running under load.
The projects I would show first. Each one builds and ships with tests or a verification script.
ServerPulse — Android · Kotlin
An Android app that monitors Minecraft and FiveM servers using each game's own protocol.
- Protocols: implements the Minecraft Server List Ping handshake directly over TCP, and reads FiveM's
dynamic.json. - History: stores every check in Room and shows 24-hour uptime, average and p95 latency, and peak players.
- Alerts: debounced. A server is marked down only after two consecutive failures, so one dropped packet on mobile data does not wake anyone up.
- Stack: Clean Architecture, Jetpack Compose, Hilt, WorkManager. English and Arabic with full RTL.
- Quality: 44 unit tests, including the real prober running against a local TCP server that implements the protocol. Lint runs with warnings treated as errors.
hyper-economy-bridge — Paper plugin · Java 21
A Minecraft economy engine designed so that balance reads never touch the database on the main thread.
- Balances live in an in-memory ledger and are flushed to storage in batches.
- Money is stored as
longminor units, neverdouble, so there are no rounding errors. - Updates are atomic, and Redis is used only to invalidate caches across servers.
- 15 tests.
mc-backup-daemon — Python · no dependencies
Takes consistent world backups from a running server.
- Pauses saving through RCON (
save-off), flushes, archives, then resumes. Resuming sits in afinallyblock so the server is never left with saving disabled. - A restore test compares the restored files against the original byte for byte.
- 15 tests.
spigot-metric-exporter — Java · Prometheus
A Prometheus metrics exporter for Spigot/Paper, about 20 KB, with no client library.
- The main thread samples metrics into an immutable record.
- The HTTP thread serves that record and never touches the Bukkit API, so it cannot slow the game down.
- 8 tests.
anvil-region-auditor — Python CLI
A read-only checker for Minecraft .mca region files.
- Validates the sector table, detects overlapping or out-of-bounds chunks, and reports compression types.
- Exports text, JSON or CSV. It never writes to the world folder.
Respect the budget. A Minecraft tick has 50 ms. Database queries, HTTP calls and file I/O belong on worker threads, with results handed back as immutable snapshots.
Make failure boring.
Debounce alerts. Cap packet sizes before allocating memory. Put cleanup in finally. Never use destructive migrations on user data.
Prove it.
Every flagship repository builds from a clean clone and includes tests or a verify.sh. When I claim a number, there is a test behind it.
State the limits. Each README has a limitations section. A tool that is honest about what it does not do is easier to trust.
Paper 1.20+, Java 21. Every repository in this table includes a verify.sh that builds the jar and checks it targets Java 21.
| Repository | What it does |
|---|---|
| hyper-economy-bridge | Async economy: in-memory ledger, batched write-behind, exact integer money. 15 tests. |
| chronos-daily-rewards | Daily streak rewards with day boundaries computed per time zone (DST-safe). 7 tests. |
| sentinel-guard-anticheat-heuristics | Movement and combat telemetry, compensated for latency and server load. Collects evidence; does not auto-punish. |
| aether-dynamic-spawners | Slows spawners in proportion to tick-time pressure, and restores vanilla timing when disabled. |
| nexus-proxy-sync | Redis Pub/Sub message bus between Velocity backends, with reconnect backoff. |
| void-drop-cleaner | Merges identical item stacks on the ground before removing anything. |
| celestial-combat-tag | Combat tagging with fair logout penalties and an action-bar timer. |
| mc-network-watchdog | Tick-time-aware health signals for Paper networks. |
| LITMinions | Minions plugin (Kotlin, Gradle). |
| OGRedstonePvP | RedstonePvP game-mode plugin (Java, Maven). |
| RepRegen | Regeneration plugin (Java, Maven). |
| Repository | What it does |
|---|---|
| mc-backup-daemon | Consistent live-world backups with a byte-exact restore test. 15 tests. |
| spigot-metric-exporter | Lightweight Prometheus exporter that never blocks the main thread. 8 tests. |
| anvil-region-auditor | Read-only integrity checker for .mca region files. 8 tests. |
| aikars-flags-tuner | Generates JVM flags (G1 or ZGC chosen by heap size) and hardened systemd units with graceful RCON stop. |
| paper-purpur-optimized-stack | Paper/Purpur configuration for high player counts. Each changed key is explained. |
| velocity-edge-network-template | Velocity modern forwarding, Geyser/Floodgate, and nftables rules that keep backends private. |
| luckperms-matrix-preset | LuckPerms layout with separate donor and staff tracks and per-server contexts. |
| prison-rankup-eco-preset | Prison economy where rank costs follow the income curve, keeping time per rank constant. |
| skyblock-island-schematics-pack | Skyblock island grid with deny-by-default WorldGuard rules. |
| mc-rcon-operator-cli | Minimal RCON client configured by environment variables. |
| mc-server-config-validator | Validates server YAML and flags placeholder secrets. |
| mc-portfolio-provisioner | The script that publishes these repositories. It refuses to touch private repositories. |
| Repository | What it does |
|---|---|
| team-fivemcodehub-portfolio | Bilingual (Arabic/English) website for the FiveM Code Hub team. |
| codehub-licenses | License registry data for CodeHub FiveM resources. |
| pages | Static pages and downloads for CodeHub projects. |
| yazn-page-ras | Community website with rules, jobs and requirements pages. |
| ulg-calculator | Browser-based calculators and admin tools. |
Reference material for running Paper and Velocity networks: runbooks, templates, checklists and policy examples. These repositories are mostly documentation rather than code. Validate anything from them in a staging environment first.
Show all 35 repositories
Reliability and incidents mc-incident-drills · mc-network-failover-lab · mc-backup-restore-drills · mc-server-restore-automation · mc-maintenance-window · mc-ops-runbook-index · mc-network-status-page
Monitoring and capacity mc-network-slo-kit · mc-server-resource-alerts · mc-log-anomaly-triage · mc-server-logging-baseline · mc-server-capacity-planner · mc-server-cost-model · mc-world-storage-audit · mc-traffic-replay-lab
Security and data mc-network-firewall-baseline · mc-server-secret-rotation · mc-plugin-permission-audit · mc-player-session-audit · mc-player-data-retention · minecraft-allowlist-service
Plugin lifecycle mc-plugin-release-pipeline · mc-plugin-release-checklist · mc-plugin-dependency-audit · mc-plugin-compat-matrix · mc-plugin-api-contract-tests · mc-plugin-config-migrations · mc-server-version-matrix · paper-plugin-template · velocity-plugin-template
Network and data services mc-queue-coordinator · mc-redis-topology · mc-database-migration-kit · minecraft-server-container · paper-world-pregen-planner
| Area | Tools |
|---|---|
| Languages | Java 17/21 · Kotlin · Lua · TypeScript · JavaScript · Python · Bash |
| Game servers | Paper · Purpur · Spigot · Velocity · Geyser/Floodgate · FiveM (ESX) |
| Android | Jetpack Compose · Room · Hilt · WorkManager · Coroutines/Flow |
| Backend | Node.js · Express · Discord.js · REST APIs |
| Data | MySQL/MariaDB · SQLite · Redis |
| Operations | Linux · systemd · Docker · nftables · Prometheus · RCON |
| JVM | G1 · Generational ZGC · heap sizing · GC log analysis |
أبني البرمجيات التي تعمل خلف خوادم الألعاب: الواجهات البرمجية، وأدوات ديسكورد، وأنظمة التراخيص، وإضافات ماينكرافت، والبنية التحتية التي تُبقيها مستقرة تحت الضغط.
عضو في فريق FiveM Code Hub · ديسكورد: 777m
- ServerPulse: تطبيق أندرويد بلغة Kotlin يراقب خوادم ماينكرافت وفايف إم باستخدام بروتوكول كل لعبة مباشرة. يحفظ سجل الفحوصات، ويعرض نسبة التشغيل وزمن الاستجابة، ويرسل تنبيهاً عند توقف الخادم وعند عودته. يضم ٤٤ اختباراً، ويدعم العربية بالكامل.
- hyper-economy-bridge: نظام اقتصاد لماينكرافت لا يتصل بقاعدة البيانات من الخيط الرئيسي عند قراءة الأرصدة، ويحفظ المبالغ كأعداد صحيحة لتجنّب أخطاء التقريب. ١٥ اختباراً.
- mc-backup-daemon: نسخ احتياطي متّسق لعالم الخادم أثناء تشغيله، مع اختبار يتحقق من تطابق الاستعادة بايتاً ببايت. ١٥ اختباراً.
- spigot-metric-exporter: مُصدِّر مقاييس لـ Prometheus بحجم ٢٠ كيلوبايت تقريباً، لا يُبطئ اللعبة. ٨ اختبارات.
- احترام الميزانية الزمنية: لكل دورة في ماينكرافت ٥٠ ملّي ثانية فقط، فأي عمل بطيء يُنقل إلى خيوط منفصلة.
- التعامل الآمن مع الأعطال: تنبيهات لا تنطلق من خطأ عابر، وحدود قصوى لحجم البيانات الواردة، وعمليات تنظيف مضمونة.
- الإثبات قبل الادعاء: كل مشروع رئيسي يُبنى من نسخة نظيفة ويتضمن اختبارات أو سكربت تحقق.
- الوضوح في القيود: كل مشروع يذكر صراحةً ما لا يفعله.