skynet README

The project's README from github.com/cloudwu/skynet. As one markdown file: README.md.

skynet logo

Skynet is a multi-user Lua framework supporting the actor model, often used in games.

It is heavily used in the Chinese game industry, but is also now spreading to other industries, and to English-centric developers. To visit related sites, visit the Chinese pages using something like Google or Deepl translate.

The community is friendly and almost all contributors can speak English, so English speakers are welcome to ask questions in Discussion, or submit issues in English.

Build

For Linux, install autoconf first for jemalloc:

git clone https://github.com/cloudwu/skynet.git
cd skynet
make 'PLATFORM'  # PLATFORM can be linux, macosx, freebsd, openbsd now

Or:

export PLAT=linux
make

For FreeBSD , use gmake instead of make.

Test

Run these in different consoles:

./skynet examples/config	# Launch first skynet node  (Gate server) and a skynet-master (see config for standalone option)
./3rd/lua/lua examples/client.lua 	# Launch a client, and try to input hello.

About Lua version

Skynet now uses a modified version of lua 5.5.0 ( https://github.com/ejoy/lua/tree/skynet55 ) for multiple lua states.

Official Lua versions can also be used as long as the Makefile is edited.

How To Use

skynet (cloudwu/skynet)

Searching Database…

14.2K ·GitHub
What is this?Skynet is a lightweight, multi-user Lua framework built on the actor model, mainly used to build online game servers.
Is this a full game engine or something lower-level?It's a server-side concurrency framework: Lua actors (services) communicating via messages, not a graphics engine or client runtime.
How do I build and run it?On Linux, install autoconf first (needed for jemalloc) then build with make; you test it by running the server and client in separate consoles.
Does it need a specific version of Lua?Skynet bundles a modified Lua 5.5.0 that supports multiple Lua states, but you can use official Lua releases instead by editing the Makefile.
Does it work the same way on FreeBSD?Mostly yes, but FreeBSD builds use gmake instead of make.
Is this mainly a Chinese-ecosystem tool?It's heavily used in the Chinese game industry but is spreading to other industries and English-centric developers, and the community welcomes English-language questions and issues.
What language is Skynet actually written in?Its core is written in C for performance, with Lua used as the scripting layer for writing actor services and game logic.
Is the documentation available in English?The Wiki is written in both English and Chinese, though the FAQ is Chinese-only and readable via Google or DeepL translate.
Can English speakers get support if they run into issues?Yes, the community is friendly and nearly all contributors speak English, so you can ask in Discussions or file issues in English.
Creator
cloudwu
Size
5.2 MB
Stars
14.2K
Age
14y
Commits · 90 Days