MCPcopy Index your code
hub / github.com/cloudwu/skynet

github.com/cloudwu/skynet @v1.8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.8.0 ↗ · + Follow
2,725 symbols 9,785 edges 152 files 705 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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 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.4.7 ( https://github.com/ejoy/lua/tree/skynet54 ) for multiple lua states.

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

How To Use

  • Read Wiki for documents https://github.com/cloudwu/skynet/wiki (Written in both English and Chinese)
  • The FAQ in wiki https://github.com/cloudwu/skynet/wiki/FAQ (In Chinese, but you can visit them using something like Google or Deepl translate.)

Core symbols most depended-on inside this repo

luaL_error
called by 296
3rd/lua/lauxlib.c
lua_pushinteger
called by 211
3rd/lua/lapi.c
lua_pushvalue
called by 158
3rd/lua/lapi.c
lua_touserdata
called by 139
3rd/lua/lapi.c
lua_setfield
called by 115
3rd/lua/lapi.c
luaL_checkinteger
called by 96
3rd/lua/lauxlib.c
lua_pushstring
called by 91
3rd/lua/lapi.c
skynet_error
called by 89
skynet-src/skynet_error.c

Shape

Function 2,303
Class 414
Enum 8

Languages

C94%
C++6%

Modules by API surface

skynet-src/socket_server.c149 symbols
3rd/lua/lcode.c103 symbols
3rd/lua/lparser.c101 symbols
3rd/lua/lapi.c99 symbols
3rd/lua/ltests.c88 symbols
3rd/lua/lstrlib.c82 symbols
3rd/lua/lauxlib.c82 symbols
3rd/lpeg/lptree.c76 symbols
3rd/lua/lgc.c73 symbols
skynet-src/skynet_server.c62 symbols
lualib-src/sproto/sproto.c59 symbols
lualib-src/lua-bson.c59 symbols

For agents

$ claude mcp add skynet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact