All Projects → topfreegames → Pitaya

topfreegames / Pitaya

Licence: mit
Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Pitaya

Nanoserver
DEMO: Mahjong server base on nano(https://github.com/lonng/nano)
Stars: ✭ 706 (-23.84%)
Mutual labels:  game, game-server, game-framework
Einx
a framework in golang for game server or app server
Stars: ✭ 376 (-59.44%)
Mutual labels:  game, game-server, game-framework
Ggapp
A game server example,base on gg+skynet
Stars: ✭ 62 (-93.31%)
Mutual labels:  game, game-server, game-framework
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (-29.34%)
Mutual labels:  game, game-server, game-framework
Pss
This is a based plug-in framework that provides cross-platform IO and logically separated plug-in services.
Stars: ✭ 219 (-76.38%)
Mutual labels:  game, game-server
Stendhal
Stendhal is a fun friendly and free multiplayer online adventure game with an old school feel.
Stars: ✭ 194 (-79.07%)
Mutual labels:  game, game-server
Linuxgsm
The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
Stars: ✭ 3,063 (+230.42%)
Mutual labels:  game, game-server
Gameservers Docker
A bunch of game servers I use, dockerised
Stars: ✭ 322 (-65.26%)
Mutual labels:  game, game-server
Carmelo
Carmelo is a fast, scalable Java server framework designed for online games. It uses Netty and Fastjson for highly efficient network transmission and supports both TCP/HTTP protocols.
Stars: ✭ 148 (-84.03%)
Mutual labels:  game, game-server
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+251.46%)
Mutual labels:  game, game-server
Ark
ARK is a lightweight, agility, elastic, distributed plugin framework written in C++,make it easier and faster to create your own application service.
Stars: ✭ 370 (-60.09%)
Mutual labels:  game, game-server
Otxserver
OTX Server from:
Stars: ✭ 187 (-79.83%)
Mutual labels:  game, game-server
Dst Dedicated Server
Don't Starve Together dedicated server guide for all platforms (Linux, Mac, Windows) with Docker. Extensive documentation covering mods installation, server config and performance, world generation and setting up admins.
Stars: ✭ 187 (-79.83%)
Mutual labels:  game, game-server
The Tale
Основной репозиторий проекта: сайт и логика игры
Stars: ✭ 256 (-72.38%)
Mutual labels:  game, game-server
Zero
A Lightweight Socket Service with heartbeat, Can be easily used in TCP server development.
Stars: ✭ 161 (-82.63%)
Mutual labels:  game, game-server
Moon
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script
Stars: ✭ 313 (-66.24%)
Mutual labels:  game, game-server
Nakama
Distributed server for social and realtime games and apps.
Stars: ✭ 5,293 (+470.98%)
Mutual labels:  game-server, game-framework
Rhisis
Rhisis is an experimental FlyFF MMORPG emulator built with C# 9 and .NET 5
Stars: ✭ 132 (-85.76%)
Mutual labels:  game, game-server
Kaetram Open
An open-source 2D HTML5 adventure based off BrowserQuest (BQ).
Stars: ✭ 138 (-85.11%)
Mutual labels:  game, game-server
Leaf
A game server framework in Go (golang)
Stars: ✭ 4,250 (+358.47%)
Mutual labels:  game-server, game-framework

pitaya Build Status Coverage Status GoDoc Docs Go Report Card MIT licensed

Pitaya is an simple, fast and lightweight game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. It provides a basic development framework for distributed multiplayer games and server-side applications.

Getting Started

Prerequisites

  • Go >= 1.10
  • etcd (used for service discovery)
  • nats (optional, used for sending and receiving rpc, grpc implementations can be used too if prefered)
  • docker (optional: used for running etcd and nats dependencies on containers)

Installing

clone the repo

git clone https://github.com/topfreegames/pitaya.git

setup pitaya dependencies

make setup

Hacking pitaya

Here's one example of running Pitaya:

Start etcd (This command requires docker-compose and will run an etcd container locally. An etcd may be run without docker if prefered.)

cd ./examples/testing && docker-compose up -d etcd

run the connector frontend server from cluster_grpc example

make run-cluster-grpc-example-connector

run the room backend server from the cluster_grpc example

make run-cluster-grpc-example-room

Now there should be 2 pitaya servers running, a frontend connector and a backend room. To send requests, use a REPL client for pitaya pitaya-cli.

$ pitaya-cli
Pitaya REPL Client
>>> connect localhost:3250
connected!
>>> request room.room.entry
>>> sv-> {"code":0,"result":"ok"}

Running the tests

make test

This command will run both unit and e2e tests.

Contributing

#TODO

Authors

  • TFG Co - Initial work

License

MIT License

Acknowledgements

  • nano authors for building the framework pitaya is based on.
  • pomelo authors for the inspiration on the distributed design and protocol

Security

If you have found a security vulnerability, please email [email protected]

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].