Skip to content
/ squick Public

🔥 Squick is a fast Lua & C++ development solution for the game server. Can be used as a real time multiplayer game engine ( ARPG,MMO,MOBA And so on), which support Unity3d and Unreal.

License

Notifications You must be signed in to change notification settings

pwnsky/squick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Squick [A Quick Dev Solution for Game Server ]

logo

​ A highly scalable, high-performance, high-availability, cross-platform (Windows, Linux, MacOS) server-side framework. This framework is co-written using C++23 and Lua5.3 languages, surport c++ & lua coroutine feature, and the framework is split into the kernel layer, node layer and business layer to improve the scalability and maintainability of the program. Split business functions to run on different nodes to achieve decoupling of different functions and efficient utilization of resources. Using dynamic load balancing algorithms, tasks can be effectively distributed among different nodes to ensure system stability and performance. This project based on the NoahGameFrame. Although Ketoo has left us forever, his thoughts and soul will always be there.

Wiki: https://github.com/pwnsky/squick/wiki

Unity SDK: squick-unity-sdk

Unreal SDK: squick-unreal-sdk

Cocos SDK: squick-cocos-sdk

Backstage: squick-backstage

Web: squick-web

QQ Group:739065686

Version: 1.1.1


GitHub release GitHub pre-release Platform C++23 License GitHub stars GitHub issues GitHub code size in bytes

Click here quick start.

Wiki: https://github.com/pwnsky/squick/wiki

Feature

  1. [70%] Distributed services, each service communicates through the network, Surport K8s cluster to manage node, and can reduce server pressure through distributed + clustering methods.
  2. [100%] Use Lua to develop IO-intensive business code, and C++ to develop CPU-intensive services, which can be used to develop combat suits.
  3. [100%] The workload status of all nodes in the same region is self-synchronized.
  4. [80%] Provide stable services and ensure high availability of services.
  5. [70%] Optimize ultra-low CPU, memory, and network usage.
  6. [40%] It has standardized tests that allow developers to self-test various performance indicators (CPU, memory, network).
  7. [100%] Plug-in module combination turns development functions into plug-in modules for development and expansion.
  8. [60%] Support non-stop hot updates of business(c++/lua) code.
  9. [100%] When the program crashes in the Linux environment, the Dump Stack call chain is automatically written to the crash file.
  10. [100%] Network library adds C++ 20 coroutines.
  11. [90%] Supports cross-platform, can be compiled and developed on Windows and Linux and MacOS, and can support VS for project development on Windows.
  12. [100%] Supports changing 1 to N processes or N to 1 process. A single process on a physical machine can start all servers to facilitate development and debugging. Start single or multiple servers on different physical machines.
  13. [100%] It has relatively complete automation tools, such as automated code generation, compilation, packaging, deployment, cleaning, etc.
  14. [80%] Supports mainstream protocols, such as HTTP/HTTPS, Websocket, TCP, UDP, KCP, etc.
  15. [10%] Remote debugging console.
  16. [100%] Has client sdk for Unity and UnrealEngine.
  17. [100%] High availability - database proxy server, supports mainstream MongoDb, Mysql, Redis, Clickhouse databases etc.

Server-side architecture

Connections

img

RPC communication method between servers

img

Friend link

NoahGameFrame

Moon