Pomelo
Netease OpenSource Home

 Quick Info

Version:
Authors:Charlie Circle,Chang chang,piaohai,py8765,Demon,numbcoder,halfblood
Tags
game nodejs

 Activities

  • update history

    m History.md
    
    update history
    2013-02-28 16:06:27
  • fix server startup bug

    m lib/components/proxy.js
    m lib/modules/watchdog.js
    m package.json
    
    fix server startup bug
    2013-02-28 15:20:34
  • upgrade version to 0.2.5

    m package.json
    
    upgrade version to 0.2.5
    2013-02-27 17:03:28
  • fix session component initialize bug

    m lib/components/session.js
    
    fix session component initialize bug
    2013-02-27 13:23:29
  • modify history date

    m History.md
    
    modify history date
    
    Change-Id: I7b9952a023b6a7091810b7bbfe3faea131790241
    2013-02-20 10:54:49
  • add Histroy.md

    + History.md
    
    add Histroy.md
    
    Change-Id: I99e8335072f5a6554fba2d62b81d9f1d68aa200b
    2013-02-20 10:39:13
  • Merge "fix connectior component missing connection record bug"

    m lib/components/connector.js
    m package.json
    
    Merge "fix connectior component missing connection record bug"
    2013-01-30 11:15:52
  • fix connectior component missing connection record bug

    m lib/components/connector.js
    m package.json
    
    fix connectior component missing connection record bug
    2013-01-30 11:14:16
  • update author info of pomelo

    m AUTHORS
    
    update author info of pomelo
    
    Change-Id: I83141c2fdf9c55ad38bd8959edb528757eec60c2
    2013-01-30 11:12:38
  • Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"

    m lib/connectors/hybi/tcpsocket.js
    m lib/connectors/hybiconnector.js
    m lib/connectors/hybisocket.js
    
    Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"
    2013-01-22 17:43:23
  • Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"

    m lib/connectors/hybi/wsprocessor.js
    
    Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"
    2013-01-22 17:43:13
  • Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"

    m lib/components/connector.js
    + lib/connectors/commands/handshake.js
    + lib/connectors/commands/heartbeat.js
    m lib/connectors/hybi/wsprocessor.js
    m lib/connectors/hybiconnector.js
    m lib/connectors/hybisocket.js
    m package.json
    
    Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"
    2013-01-22 17:43:02
  • Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"

    m .jshintrc
    m Makefile
    m bin/pomelo
    m index.js
    m lib/application.js
    m lib/common/service/channelService.js
    m lib/common/service/connectionService.js
    m lib/components/connector.js
    m lib/components/proxy.js
    m lib/components/remote.js
    + lib/connectors/hybi/switcher.js
    + lib/connectors/hybi/tcpprocessor.js
    + lib/connectors/hybi/tcpsocket.js
    + lib/connectors/hybi/wsprocessor.js
    + lib/connectors/hybiconnector.js
    + lib/connectors/hybisocket.js
    m lib/connectors/sioconnector.js
    m lib/master/master.js
    m lib/master/starter.js
    - lib/modules/afterStart.js
    m lib/modules/console.js
    + lib/modules/watchdog.js
    m lib/monitor/monitor.js
    m lib/pomelo.js
    m lib/server/server.js
    + lib/util/appUtil.js
    m lib/util/countDownLatch.js
    + lib/util/events.js
    m lib/util/log.js
    m lib/util/pathUtil.js
    m lib/util/utils.js
    m package.json
    m template/game-server/app.js
    + test/application.js
    - test/applicationTest.js
    m test/filters/handler/serial.js
    m test/filters/handler/time.js
    m test/filters/handler/timeout.js
    m test/filters/rpc/rpcLog.js
    + test/mock-base/.gitignore
    + test/mock-base/app/.gitignore
    + test/mock-base/app/servers/.file-start-with-dot
    + test/mock-base/app/servers/.folder-start-with-dot/.gitignore
    + test/mock-base/app/servers/.gitignore
    + test/mock-base/app/servers/area/.gitignore
    + test/mock-base/app/servers/connector/.gitignore
    + test/mock-base/app/servers/connector/handler/.gitignore
    + test/mock-base/app/servers/connector/remote/.gitignore
    + test/mock-base/app/servers/other-file
    m test/pomelo.js
    + test/service/channel.js
    + test/service/channelService.js
    - test/service/channelServiceTest.js
    + test/service/connectionService.js
    - test/service/connectionServiceTest.js
    m test/service/filterService.js
    m test/service/handlerService.js
    m test/service/taskManager.js
    + test/util/countDownLatch.js
    - test/util/countDownLatchTest.js
    + test/util/pathUtil.js
    + test/util/utils.js
    
    Merge "Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x"
    2013-01-22 17:42:48
  • fix before filter bug

    m lib/common/service/filterService.js
    
    fix before filter bug
    2013-01-22 17:39:50
  • Merge "fix filterService last before filter err bug"

    m lib/common/service/filterService.js
    
    Merge "fix filterService last before filter err bug"
    2013-01-21 17:05:50
  • Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x

    m lib/connectors/hybi/tcpsocket.js
    m lib/connectors/hybiconnector.js
    m lib/connectors/hybisocket.js
    
    Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x
    2013-01-18 17:06:12
  • Merge "add handshake ack and fix handshake bugs" into 0.3.x

    m lib/connectors/hybi/tcpsocket.js
    m lib/connectors/hybiconnector.js
    m lib/connectors/hybisocket.js
    
    Merge "add handshake ack and fix handshake bugs" into 0.3.x
    2013-01-18 17:01:50
  • add handshake ack and fix handshake bugs

    m lib/connectors/hybi/tcpsocket.js
    m lib/connectors/hybiconnector.js
    m lib/connectors/hybisocket.js
    
    add handshake ack and fix handshake bugs
    
    Change-Id: I7b319a6e95ceb9d893a734f41cd6219d232575e5
    2013-01-18 14:47:26
  • Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x

    m lib/connectors/hybi/wsprocessor.js
    
    Merge branch '0.3.x' of ssh://pomelo.163.com:29418/pomelo into 0.3.x
    2013-01-18 10:54:10
  • Merge "change variable name" into 0.3.x

    m lib/connectors/hybi/wsprocessor.js
    
    Merge "change variable name" into 0.3.x
    2013-01-17 14:29:08
 
 

PROJECTS

 

Pomelo

 
Pomelo is a fast, scalable game server framework for node.js. It provides the basic development framework and many related components, including libraries and tools. Pomelo is also suitable for realtime web applications; its distributed architecture makes pomelo scale better than other realtime web frameworks.

Features

Fast, scalable

  • Distributed (multi-process) architecture
  • Flexible server extension
  • Full performance optimization and test

Easy

  • Simple API: request, response, broadcast, etc.
  • Lightweight: high development efficiency based on node.js
  • Convention over configruation: almost zero config

Powerful

Why should I use pomelo?

Fast, scalable, realtime game server development is not an easy job, and a good container or framework can reduce its complexity. Unfortunately, not like web, the game server framework solution is quite rare, especially open source. Pomelo fills this gap, providing a full solution for building game server frameworks. Pomelo has the following advantages: * The architecture is scalable. It uses multi-process, single thread runtime architecture, which has been proven in industry and is especially suited to the node.js thread model. * Easy to use, the development model is quite similiar to web, using convention over configuration, almost zero config. The API is also easy to use. * The framework is extensible. Based on node.js micro module principle, the core of pomelo is small. All the components, libraries and tools are individual npm modules, anyone can create their own module to extend the framework. * The reference materials and documentation are quite complete. Besides documents, we also provide an open-source MMO RPG demo (HTML5 client), which is a far better reference material than any book.

How can I develop with pomelo?

With the following references, you can quickly familiarize yourself with the pomelo development process: * Architecture Overview of pomelo * Quick Start Guide * Tutorial * FAQ

You can also learn from our MMO demo: * Introduction to Lord of Pomelo

Contributors

  • NetEase, Inc.
  • Aaron Yoshitake
  • Eduard Gotwig
  • Eric Muyser

License

(The MIT License)

Copyright (c) 2012-2013 NetEase, Inc. and other contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Projects Links