IN THIS ARTICLE
Subscribe to Our Newsletter
We’ve updated our SDKs, and this code is now deprecated.
Good news is we’ve written a comprehensive guide to building a multiplayer game. Check it out!
NodeCraft provides online game server hosting for gamers and community developers, including dedicated servers, Minecraft servers, and additionally web hosting. With NodeCraft’s custom all-in-one control panel, developers can easily monitor and control all aspects of their game server.
The Need for Realtime for Node to Node Communication
When hosting online game servers, stability and security of the message network is paramount. NodeCraft wanted to enrich their entire application with realtime functionality to provide users with an interactive and engaging experience. Specifically with their customer facing control console, the interface needed to capture STDOUT and STDIN connections and deliver them in realtime straight to a web browser.
Build vs Buy
The NodeCraft development team was dealing with minor problems across the many open source MQ libraries which would lead to new points of failure in the application.
They first elected to try to build a realtime infrastructure on their own using a JSON-based TCP relay with Node.js, but soon realized the heavy time and cost commitments in doing so. They then tried to build a network using RabbitMQ and ZMQ, but just like their previous open source attempt, it failed to give them the stability and security they needed in time for launch.
“It was simply not an option for us to build a pub/sub network into our application, especially given our time-frame. There were too many possible variables and it was a subject that was simply too new to for us to start using comfortably,” said Jonathan Yarbor, co-founder and lead developer of NodeCraft Hosting.
Picking PubNub for Node to Node Communication
With a small development team and an approaching launch date, NodeCraft needed a lightweight and low latent realtime data stream network that they could easily implement. The development team didn’t want to have to worry about building out a backend network, and then maintain, operate, and update that network as necessary.
“PubNub allows us to focus on our application, rather than the backbone network that supports it and the worries that accompany that. Knowing that we don’t have to setup a whole monitoring system to make sure our backbone network is running and sending messages is amazing; no crashing, no hardware reboots, and no worries,” said James Ross, co-founder and Operations Manager of NodeCraft Hosting.
Secure and Stable Communication
NodeCraft uses PubNub Data Streams to handle remote node to node communication, and to provide their customers with realtime output for various functions in the application. For example, when a customer uses the File Manager in the NodeCraft customer control panel, PubNub securely issues commands to the node. PubNub also powers the NodeCraft instant logging system using PubNub Storage and Playback.
Using PubNub, NodeCraft has been able to build and deliver secure and stable online game servers to their users. Not having to worry about maintain and orchestrating their backend data stream network, NodeCraft can focus on their core product.
“PubNub took away our security and stability concerns instantly. What’s really great is that PubNub also started solving other problems we didn’t know it could. They’ve provided us with the confidence that our backbone network will be stable and reliable, and given us the ability to sleep well at night,” said Yarbor.