1.27.0 • Published 1 month ago

zona-x v1.27.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 month ago

Actions Status

官方网站:https://pinus.io 欢迎加Pinus官方QQ群:102530089

示例工程请参见:https://github.com/node-pinus/pinus/tree/master/examples/simple-example

手动安装: npm install pinus -g

mkdir testProject cd testProject 初始化项目 pinus init

与Pomelo的关系

  1. pinus是pomelo的TS版本,框架内部把回调改为了Promise。
  2. 框架与pomelo一样,所以可以看pomelo的相关教程。
  3. 协议与pomelo一样,所以pomelo的客户端代码可以直接对接上pinus服务端。

框架编译方法

git clone https://github.com/node-pinus/pinus.git
cd pinus
yarn
yarn run build

编译好以后可以使用 yarn link 或者 npm link 软链接到自己的项目。 也可以用 yarn 的 workspace

查看pinus CHANGELOG

Pinus -- a fast, scalable game server framework for node.js

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

Features

Complete support of game server and realtime application server architecture

  • Multiple-player game: mobile, social, web, MMO rpg(middle size)
  • Realtime application: chat, message push, etc.

Fast, scalable

  • Distributed (multi-process) architecture, can be easily scale up
  • 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 configuration: almost zero config

Powerful

  • Many clients support, including javascript, flash, android, iOS, cocos2d-x, C
  • Many libraries and tools, including command line tool, admin tool, performance test tool, AI, path finding etc.
  • Good reference materials: full docs, many examples and an open-source MMO RPG demo

Extensible

  • Support plugin architecture, easy to add new features through plugins. We also provide many plugins like online status, master high availability.
  • Custom features, users can define their own network protocol, custom components very easy.

Why should I use pinus?

Fast, scalable, real-time game server development is not an easy job, and a good container or framework can reduce its complexity. Unfortunately, unlike web, finding a game server framework solution is difficult, especially an open source solution. Pinus fills this gap, providing a full solution for building game server frameworks.

abitypeabort-controllerabortcontroller-polyfillabstract-loggingacceptsacornacorn-jsxaes-jsagent-baseagentkeepaliveajvajv-formatsansi-regexansi-stylesanymatcharchyargparsearia-hiddenaria-queryarray-buffer-byte-lengtharray-flattenarray-includesarray-unionarray.prototype.filterarray.prototype.findlastindexarray.prototype.flatarray.prototype.flatmaparray.prototype.tosortedarraybuffer.prototype.slicearrifyasn1asn1.jsassert-plusassertion-errorast-types-flowasync-limiterasync-mutexasynciterator.prototypeasynckitatomic-sleepavailable-typed-arraysavvioaws-sign2aws4axe-coreaxiosaxobject-querybabel-plugin-macrosbalanced-matchbase-xbase64-jsbcrypt-pbkdfbech32bigint-bufferbignumber.jsbinary-extensionsbind-decoratorbindingsblakejsbluebirdbn.jsbody-parserborshbrace-expansionbracesbrorandbrowserify-aesbs58bs58checkbufferbuffer-equal-constant-timebuffer-reversebuffer-to-arraybufferbuffer-xorbufferutilbufiobusboybytescacheable-lookupcacheable-requestcall-bindcallsitescamelcasecaniuse-litecaselesscatharsischaichalkcheck-errorchokidarchownrcid-toolcidscipher-basecittyclass-isclient-onlyclipboardycliuiclone-responseclsxcluster-key-slotcolor-convertcolor-namecombined-streamcommanderconcat-mapconsolacontent-dispositioncontent-hashcontent-typeconvert-source-mapcookiecookie-escookie-signaturecookiejarcopy-to-clipboardcore-util-iscorscosmiconfigcrc-32create-hashcreate-hmaccross-fetchcross-spawncrosswscsstypeddamerau-levenshteindashdashdebugdecamelizedecode-uri-componentdecompress-responsedeep-eqldeep-isdefer-to-connectdefine-data-propertydefine-propertiesdefudelaydelayed-streamdenquedepddequaldestrdestroydetect-browserdetect-libcdetect-node-esdijkstrajsdir-globdoctrinedom-walkduplexifydynamics-contracts-xecc-jsbnecdsa-sig-formatteree-firsteip1193-providerellipticemoji-regexencode-utf8encodeurlend-of-streamenhanced-resolveentitieserc721a-upgradeableerror-exes-abstractes-array-method-boxes-properlyes-define-propertyes-errorses-iterator-helperses-set-tostringtages-shim-unscopableses-to-primitivees5-extes6-iteratores6-promisees6-promisifyes6-symbolescaladeescape-htmlescape-string-regexpescodegeneslinteslint-config-nexteslint-import-resolver-nodeeslint-import-resolver-typescripteslint-module-utilseslint-plugin-importeslint-plugin-jsx-a11yeslint-plugin-reacteslint-plugin-react-hookseslint-scopeeslint-utilseslint-visitor-keysesniffespreeesprimaesqueryesrecurseestraverseesutilsetageth-block-trackereth-ens-namehasheth-json-rpc-filterseth-libeth-providereth-queryeth-rpc-errorsethereum-bloom-filtersethereum-cryptographyethereum-providerethereumjs-abiethereumjs-utilethersethjs-unitethjs-utilevent-emitterevent-target-shimeventemitter3eventsevp_bytestokeyexecaexplain-errorexpressextextendextsprintfeyesfast-content-type-parsefast-decode-uri-componentfast-deep-equalfast-globfast-json-stable-stringifyfast-json-stringifyfast-levenshteinfast-querystringfast-redactfast-safe-stringifyfast-stable-stringifyfast-text-encodingfast-urifastifyfastify-pluginfastify-type-provider-zodfastqfaucet-labfile-entry-cachefile-uri-to-pathfill-rangefilter-objfinalhandlerfind-my-wayfind-rootfind-upflat-cacheflattedfollow-redirectsfor-eachforever-agentform-dataform-data-encoderforwardedfreshfs-extrafs-minipassfs.realpathfunction-bindfunction.prototype.namefunctional-red-black-treefunctions-have-namesfuse.jsgaxiosgcp-metadataget-caller-fileget-func-nameget-intrinsicget-nonceget-port-pleaseget-streamget-symbol-descriptionget-tsconfiggetpassglobglob-parentglob-to-regexpglobalglobalsglobalthisglobbygoogle-auth-librarygoogle-gaxgoogle-p12-pemgopdgotgraceful-fsgtokenh3har-schemahar-validatorhas-bigintshas-flaghas-property-descriptorshas-protohas-symbolshas-tostringtaghash-basehash.jshasownhey-listenhmac-drbghoist-non-react-staticshttp-cache-semanticshttp-errorshttp-httpshttp-shutdownhttp-signaturehttp2-wrapperhttps-proxy-agenthuman-signalshumanize-msiconv-liteidb-keyvalidna-uts46-hxieee754ignoreimmediateimport-freshimurmurhashinflightinheritsinternal-slotinvariantioredisipaddr.jsiron-webcryptois-argumentsis-array-bufferis-arrayishis-async-functionis-bigintis-binary-pathis-boolean-objectis-callableis-core-moduleis-date-objectis-dockeris-extglobis-finalizationregistryis-fullwidth-code-pointis-functionis-generator-functionis-globis-hex-prefixedis-inside-containeris-mapis-negative-zerois-numberis-number-objectis-regexis-setis-shared-array-bufferis-streamis-stream-endedis-stringis-symbolis-typed-arrayis-typedarrayis-weakmapis-weakrefis-weaksetis-wslis64bitisarrayisexeisomorphic-unfetchisomorphic-wsisstreamiterator.prototypejaysonjitijs-sha3js-tokensjs-yamljs2xmlparserjsbnjsdocjson-bigintjson-bufferjson-parse-even-better-errorsjson-rpc-enginejson-rpc-random-idjson-schemajson-schema-ref-resolverjson-schema-traversejson-stable-stringify-without-jsonifyjson-stringify-safejson5jsonc-parserjsonfilejsonparseJSONStreamjsprimjsx-ast-utilsjwajwskeccakkey-encoderkeyvkeyvaluestorage-interfaceklawlanguage-subtag-registrylanguage-tagslevnlielight-my-requestlines-and-columnslinkify-itlisthenlitlit-elementlit-htmllocalforagelocate-pathlodashlodash.camelcaselodash.defaultslodash.isargumentslodash.isequallodash.mergelongloose-envifyloupelowercase-keyslru-cachemagic-sdkmarkdown-itmarkdown-it-anchormarkedmd5.jsmdurlmedia-typermerge-descriptorsmerge-streammerge2methodsmicro-ftchmicromatchmimemime-dbmime-typesmimic-fnmimic-responsemin-documentminimalistic-assertminimalistic-crypto-utilsminimatchminimistminipassminizlibmkdirpmkdirp-promisemllymock-fsmotionmrimsmultibasemulticodecmultiformatsmultihashesnano-json-stream-parsernanoidnatural-comparenegotiatornextnext-ticknode-addon-apinode-fetchnode-fetch-nativenode-forgenode-gyp-buildnormalize-pathnormalize-urlnpm-run-pathnumber-to-bnoauth-signobject-assignobject-hashobject-inspectobject-keysobject.assignobject.entriesobject.fromentriesobject.groupbyobject.hasownobject.valuesoboeofetchohashon-exit-leak-freeon-finishedonceonetimeoptionatorp-cancelablep-limitp-locatep-tryparent-moduleparse-headersparse-jsonparseurlpath-existspath-is-absolutepath-keypath-parsepath-to-regexppath-typepathepathvalpbkdf2performance-nowpicocolorspicomatchpifypinopino-abstract-transportpino-std-serializerspkg-typespngjspossible-typed-array-namespostcsspreactprelude-lsprocessprocess-warningprop-typesproto3-json-serializerprotobufjsprotobufjs-cliproxy-addrproxy-comparepslpumppunycodeqrcodeqsquery-stringqueue-microtaskquick-format-unescapedquick-lruradix3randombytesrange-parserraw-bodyreactreact-domreact-isreact-remove-scrollreact-remove-scroll-barreact-style-singletonreadable-streamreaddirpreal-requireredis-errorsredis-parserreflect.getprototypeofregenerator-runtimeregexp.prototype.flagsregexpprequestrequire-directoryrequire-from-stringrequire-main-filenamerequizzleresolveresolve-alpnresolve-fromresolve-pkg-mapsresponselikeretretry-requestreusifyrfdcrimrafripemd160rlprpc-websocketsrun-parallelrxjssafe-array-concatsafe-buffersafe-json-utilssafe-regex-testsafe-regex2safe-stable-stringifysafer-bufferschedulerscrypt-jssecp256k1secure-json-parsesemversendserve-staticservifyset-blockingset-cookie-parserset-function-lengthset-function-namesetimmediatesetprototypeofsha.jsshebang-commandshebang-regexside-channelsignal-exitsimple-concatsimple-getslashsonic-boomsource-mapsource-map-jssplit-on-firstsplit2sshpkstandard-as-callbackstatusesstd-envstream-browserifystream-shiftstreamsearchstrict-uri-encodestring_decoderstring-widthstring.prototype.matchallstring.prototype.trimstring.prototype.trimendstring.prototype.trimstartstrip-ansistrip-bomstrip-final-newlinestrip-hex-prefixstrip-json-commentsstyled-jsxstylissuperstructsupports-colorsupports-preserve-symlinks-flagswarm-jssystem-architecturetapabletartext-encoding-utf-8text-tablethread-streamthreethroughtimed-outtiny-invarianttmpto-fast-propertiesto-regex-rangetoad-cachetoggle-selectiontoidentifiertough-cookietr46treeifyts-api-utilstsconfig-pathstslibtunnel-agenttweetnacltweetnacl-utiltypetype-checktype-detecttype-festtype-istyped-array-buffertyped-array-byte-lengthtyped-array-byte-offsettyped-array-lengthtypedarray-to-buffertypescriptuc.microufouglify-jsuint8arraysultronunbox-primitiveuncryptounderscoreundici-typesunenvunfetchuniversalifyunpipeunstorageuntunuqruri-jsurl-set-queryuse-callback-refuse-sidecaruse-sync-external-storeutf-8-validateutf8utilutil-deprecateutils-mergeuuidv8-compile-cachevaltiovarintvaryverrorwatchpackweb3web3-bzzweb3-coreweb3-core-helpersweb3-core-methodweb3-core-promieventweb3-core-requestmanagerweb3-core-subscriptionsweb3-ethweb3-eth-abiweb3-eth-accountsweb3-eth-contractweb3-eth-ensweb3-eth-ibanweb3-eth-personalweb3-netweb3-providers-httpweb3-providers-ipcweb3-providers-wsweb3-shhweb3-utilswebidl-conversionswebsocketwhatwg-urlwhichwhich-boxed-primitivewhich-builtin-typewhich-collectionwhich-modulewhich-typed-arrayword-wrapwrap-ansiwrappywsxhrxhr-requestxhr-request-promisexhr2-cookiesxmlcreatextendy18nyaetiyallistyamlyargsyargs-parseryarnzksync-web3zodzod-to-json-schemazonazona-api-easy-xzona-chain-xzona-farmingzona-nft-dapps-x
1.27.0

1 month ago

1.26.0

1 month ago

1.25.0

1 month ago

1.24.3

1 month ago