Code Monkey home page Code Monkey logo

hengle / ark Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openarkstudio/ark

0.0 1.0 0.0 8.2 MB

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

Home Page: https://arkgame.net

License: Apache License 2.0

Lua 0.59% Batchfile 0.54% Shell 0.40% C# 5.34% C++ 88.02% Java 2.27% CMake 2.16% C 0.69%

ark's Introduction

Server Architecture

GitHub version License C++11 Platform SonarCloud Gitter

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
QQ群: 540961187

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

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

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 OR visit our community 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

Supported Compilers

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

Build and Install

Windows

Prerequisites:
  • Windows 7 or later
  • Visual Studio 2017
  • Git
  • CMake
Step:

Using Visual Studio 2017

  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 15 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 VS2015, please use Dep/build_dep_vs2015.bat
  • If you are using VS2017, please change %VS150COMNTOOLS% in Dep/build_dep.bat to YOUR-COMPILER-PATH.
  • If you DO NOT install Win10 SDK, please use CMake to create new solution.

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

Note

  • If you need build debug, please add -DCMAKE_BUILD_TYPE="Debug" in cmake command.
  • To accelerate building, you can use make -j to run multiple complication jobs simultaneously. However, that may exhaust the memory.
  1. Run ARK\Bin\Server\DataConfig\Tool\gen-config.sh to generate configuration files(Cuz our Tools is written by C#, so please generate your configuration in Windows, we plan to use .Net Core to create a new version in Linux)
  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.

ark's People

Contributors

flyicegood avatar fredida avatar harukama avatar heikun288 avatar nickyang4github avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.