Skip to content

Latest commit

 

History

History
92 lines (79 loc) · 2.84 KB

README.md

File metadata and controls

92 lines (79 loc) · 2.84 KB

LightCoNE

lightweight c++ optimized network engine

C++ Version doc TravisCI
BSD Linux Mac Windows

LightCoNE is a c++ server development kit. It consist of a network engine, along with some higher level facilities for developing inter-connected server cluster.

Use Case

  • Service platform with real-time interaction between users
  • Game Servers

Network Engine

The network engine provides a multi-threaded event callback architecture. It utilize best approach on specific platform: epoll on linux, kqueue on bsd and mac osx. On Windows and solaris we fall back to select. See engine architecture for detail.

Protocol

The kit provides conventent tools to deal with http and websocket.

Server Cluster

Easy communication between cluster of servers. A brief list of features:

  • service discovery to allow hot-plug of server
  • graceful handling of server up & down
  • channel-based inter-server communication
  • client session management and packet routing

Performance

Capacity & Performance is a key goal for lightcone, and we have some stunning results.

How To Build

Windows

Download Visual Studio Community 2017. Open lightcone.sln.

Mac OS X

Install xcode and command line tool.

cd lightcone
./configure
make
make test

Linux

Install gcc-7 or above.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8

NOTE: Ubuntu 18.04 comes with gcc-7 which supports c++17, you may skip the above installation.

cd lightcone
./configure
CC=gcc-8 CXX=g++-8 make
CC=gcc-8 CXX=g++-8 make test

BSD

Install gcc-8 with port.

> su
# cd /usr/port/lang/gcc8
# make install clean

NOTE: FreeBSD 12 comes with gcc-7 which supports c++17, you may skip the above installation.

cd lightcone
./configure
gmake
gmake test