Skip to content

skynet

A Lua-based actor-model framework for building multi-user servers, often used for games.

Stars
14.2k
Forks
4.3k
Licence
MIT
Language
C
Last update
1 months ago
Type
Framework

What it is

Skynet is a multi-user framework written around the actor model, where separate units of logic exchange messages instead of sharing state. Its services are written in Lua, and the core is in C. The README says it is heavily used in the Chinese game industry and is spreading to other fields.

  • Run a gate server and client using the included examples/config and examples/client.lua
  • Build game server logic as separate actor-style services
  • Explore the examples directory as a starting point for a custom server

Great for

  • Developers building multiplayer or online game servers
  • Teams already comfortable with Lua
  • Projects that need many concurrent services communicating by message passing
  • Developers who can read Chinese or use translation for the project wiki

Not ideal for

  • Beginners looking for a simple web framework, since the README gives no beginner-oriented tutorial and the wiki is mostly in Chinese
  • Teams that need a Python, JavaScript, or Go ecosystem, because the framework is built around Lua
  • Projects that need a packaged installer, since the README only describes building from source
Step-by-step guide: how to use skynetInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: C compiler and make · autoconf (Linux, for jemalloc) · git

    Clone the repository

    git clone https://github.com/cloudwu/skynet.git

    Enter the directory

    cd skynet

    Build for your platform

    make 'PLATFORM' # PLATFORM can be linux, macosx, freebsd, openbsd now
  2. 2

    Run it

    • Build the project with make for your platform
    • Run ./skynet examples/config to start the first node (gate server) and a skynet-master
    • In a second console, run ./3rd/lua/lua examples/client.lua to launch a client
    • Type hello in the client to test the connection
  3. 3

    Get the most out of it

    • Read the wiki at github.com/cloudwu/skynet/wiki for documentation, in English and Chinese
    • Check the FAQ in the wiki for common questions
    • Edit the Makefile to use official Lua instead of the bundled fork if needed
    • Ask questions in GitHub Discussions, where the README says contributors can answer in English

Downloads

Strengths

  • Built on the actor model, which the README names as its core design
  • Has MIT license and a large star count on GitHub
  • Provides build instructions for Linux, macOS, FreeBSD, and OpenBSD

Trade-offs

  • Documentation is primarily in Chinese on the wiki, and the README is brief
  • Uses a modified Lua 5.5.0 fork by default, though the README says official Lua can be used after editing the Makefile
  • Installation is build-from-source only, with no binaries in the latest release

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.