Giter Club home page Giter Club logo

pwnsky / squick Goto Github PK

View Code? Open in Web Editor NEW
40.0 2.0 8.0 34.66 MB

πŸ”₯ 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.

Home Page: https://github.com/pwnsky/squick/wiki

License: Apache License 2.0

Shell 0.85% Batchfile 0.48% CMake 0.94% Lua 2.48% C++ 48.68% C 43.81% HTML 0.09% Python 0.60% Perl 2.06%
game gameserver mmorpg-server unity3d unreal-engine-5 cplusplus-23 lua-script gameengine high-performance

squick's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.