Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cloudwu/skynet
A lightweight online game framework
https://github.com/cloudwu/skynet
Last synced: 5 days ago
JSON representation
A lightweight online game framework
- Host: GitHub
- URL: https://github.com/cloudwu/skynet
- Owner: cloudwu
- License: mit
- Created: 2012-08-01T03:30:42.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2025-01-01T00:53:34.000Z (25 days ago)
- Last Synced: 2025-01-13T20:05:25.111Z (12 days ago)
- Language: C
- Homepage:
- Size: 4.56 MB
- Stars: 13,416
- Watchers: 1,226
- Forks: 4,211
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-star - skynet
- my-awesome - cloudwu/skynet - 01 star:13.4k fork:4.2k A lightweight online game framework (C)
- awesome - skynet - A lightweight online game framework (etc)
- awesome - skynet - A lightweight online game framework (etc)
README
## ![skynet logo](https://github.com/cloudwu/skynet/wiki/image/skynet_metro.jpg)
Skynet is a multi-user Lua framework supporting the actor model, often used in games.
[It is heavily used in the Chinese game industry](https://github.com/cloudwu/skynet/wiki/Uses), 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](https://github.com/cloudwu/skynet/discussions), 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.)