Skip to content
/ ARK Public
forked from OpenArkStudio/ARK

ARK is a lightweight, agility, scalable, distributed plugin framework written by C++,make it easier and faster to create your own game server, which with Unity3d client. Plan to support UE4, Cocos2dx client.

License

Notifications You must be signed in to change notification settings

kingjeffli/ARK

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Architecture

GitHub version License Platform Gitter chat

Branch Build Status
master Build Status
develop Build Status

Copyright © ARK Game
Website: https://arkgame.net
Github: https://github.com/ArkGame/ARK
Gitee(码云): https://gitee.com/ArkGame/ARK

Wanna get the newest features? Please switch to the develop branch.

If you wanna commit PR or report issue, please refer to Contribution Guide.

Contact

ARK

ARK is a lightweight, agility, scalable, distributed plugin framework written by C++,make it easier and faster to create your own game server, can be used to develop MMO RPG, ARPG, Round play, chess games. Inspired by UnrealEngine and Ogre.

Features

  • Flexible apps, plugins, and modules
  • High availability architectures
  • General abstract data system
  • Interface-oriented and data-oriented programming(IOP & DOP)
  • Event-driven and data-driven
  • High concurrency and performance of network
  • Based on C++ standard, easy to handle and learn
  • Cross platform (Include Windows and Linux)
  • Less downtime and higher availability
  • Lower training and education costs
  • Use Excel as configuration files, easier for game designer
  • With existed simple Unity3D client for rapid development
  • Plentiful plugins(DB, script, http, websocket, etc.)
  • Customization service for business customer

FAQ

Please create a new issue to ask a question.

Architecture

App Architecture:

App Architecture

Get the Sources:

git clone https://github.com/ArkGame/ARK.git

or

svn checkout https://github.com/ArkGame/ARK

Dependencies

  • libevent master
  • easylogging++ 9.80
  • mysql++ 3.2.2
  • google protobuf 2.7.0
  • evpp 0.7.0

Supported Compilers

  • GCC >= 4.8 (Recommend. Tested in Ubuntu 15.04)
  • MSVC >= VS2015 update 3 (Recommend. Tested in Win7/10)

Build and Install

Windows

Prerequisites:
  • Windows 10, 8.1, or 7
  • Visual Studio 2017 or Visual Studio 2015 Update 3
  • Git
  • CMake 3.0 +
Step:

Using Visual Studio 2015

  1. Pull all source
  2. Run command line
cd path/to/ARK
cd Dep
build_dep.bat
  1. Open the solution: Frame/ARK.sln
  2. Build the solutionARK.sln
  3. Run ARK\Bin\Server\DataConfig\Tool\gen-config.bat to generate configuration files
  4. Run the binary file by Bin/Server/Debug/Run.bat

Using CMake

  1. Pull all source
  2. Run command line
cd path/to/ARK
cd Dep
build_dep.bat
cd ../
md build
cd build
cmake -G "Visual Studio 14 Win64" ..
  1. Start ARK.sln
  2. Run ARK\Bin\Server\DataConfig\Tool\gen-config.bat to generate configuration files
  3. Run the binary file by Bin/Server/Debug/Run.bat

Note. If you are using VS2017, please change %VS140COMNTOOLS% in Dep/build_dep.bat to YOUR-COMPILER-PATH.

linux

Prerequisites:
  • g++ 4.8+ (need C++ 11)
  • Git
  • CMake 3.0+
  • libtool
  • automake

Using CMake

  1. pull all source
  2. Use bash
cd Dep
./build_dep.sh
cd ../
mkdir build && cd build
cmake -G "Unix Makefiles" ..
make -j

Note. If you need build debug, please add -DCMAKE_BUILD_TYPE="Debug" in cmake command.

  1. Run ARK\Bin\Server\DataConfig\Tool\gen-config.sh to generate configuration files
  2. Run the binary file by Bin/Server/Debug/rund.sh

Documents

English

Mandarin

Examples

Please see Frame/Examples.

Plan

View our lastest plan

Unity3D client

Unity3D Client

License

The ARK project is currently available under the Apache License.


Our team has always specialized in the agile development and try to help different teams to develop game project quickly and easily. After years of development, we create this frame. We are still improving it.


Some Awesome projects

PSS

  • Author: freeeyes
  • Description: 基于插件的跨平台网络服务器框架

The relationship with NF

This branch come from NF, we used to be the CORE DEVELOPERS of NF. We create ARK because some different design philosophies, through our new ideas and modifications, now this project is a fresh project which has many different features.

About

ARK is a lightweight, agility, scalable, distributed plugin framework written by C++,make it easier and faster to create your own game server, which with Unity3d client. Plan to support UE4, Cocos2dx client.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 55.5%
  • C# 21.4%
  • C 14.5%
  • Assembly 2.4%
  • Ada 1.6%
  • Pascal 1.2%
  • Other 3.4%