HugoJF / questr

[DEPRECATED] CS:GO quest system for servers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Questr

Quest system for CS:GO servers without dependencies with a in-game skin shop based on kgns/weapons plugin.

How it works

This system is based on the internal UDP log system present in the Source engine.

A daemon is used to ensure configured servers have the needed convars for this system to work. The daemon is also used to collect each UDP packet coming from the servers, process them and store in a Redis queue.

Once the log packets are processed and stored, a job, scheduled to run each minute, is dispatched to compute and update individual quest progresses.

Quests types are implemented with special classes that define how and which events (coming from the CS:GO servers) are processed into quest progresses. Quest modifiers can also be implemented in order to increase quest variety and difficulty.

Quests are count based (kill count, damage count, etc) and have a reward once completed. They can also have a deadline and entry cost.

Quests are created by the administrator manually, and once available, must be individually started by users (even quests without entry costs).

Project status

This project is mostly abandoned since it needed some serious rework on the main quest processing job to avoid unecessary database load. Since then, CSGO:Pipeline was fully implemented as a centralized CS:GO event processing system.

Since this project did not get much usage from my servers, it never received an update to work with CS:GO Pipeline, which would solve part of the performance problems.

Screenshots

Homepage

Quest list

Rank

Shop

Shop Filter

Shop buy screen

Inventory

Requirements

  • PHP 7.x
  • NodeJS
  • MySQL/MariaDB
  • Redis
  • CS:GO server

About

[DEPRECATED] CS:GO quest system for servers

License:GNU General Public License v3.0


Languages

Language:PHP 85.8%Language:HTML 14.0%Language:Vue 0.2%