Networking

warning: Creating default object from empty value in /home/hplus/enchantedage.com/modules/taxonomy/taxonomy.pages.inc on line 33.
Computers talking to computers.
jwatte's picture

How to harden a publicly facing server

The question came up: "How would I go about 'Hardening' the host server?"

In theory, hardening is a simple mixture between good configuration, good software, and good operational practice.

jwatte's picture

Outline of a Scalable Web Backend

Here's a common question for newcomers to mobile game development, web game development, and similar systems:

How shall I design my application for scalability? And what do you mean by application, for that matter? Do you mean the whole iOS app/PHP/mySql system, or something else?

jwatte's picture

Look what I came across

In the distant past, I made an effort to get various virtual world vendors to attempt to interoperate, such that various virtual worlds could be interconnected.
That would have been cool! Unfortunately, the competetive landscape ended up not supporting such an effort.

Here's a copy of the IETF draft that I posted at the time:

jwatte's picture

What loading a home page should not look like

I like watching Anime. Netflix has a lot of good things, many of which come from the American importer/distributor Funimation. But Funimation has started not making everything they have available to Netflix; instead they have a subscription service specifically for their own site. This service is about as expensive as a Netflix streaming subscription (I think one dollar cheaper?) I'm afraid this is the future of streaming video, unless someone can come up with a $30/month all-high-quality-programming streaming video service. But I digress.
jwatte's picture

boost::asio async_read_until may read more than the specified data!

This took me a while to track down. I figured I'd document it for posterity, and anyone else trying to do asynchronous networking in C++ using boost::asio. I'm using Ubuntu Server 10.04 LTS with gcc/g++, which uses boost version 1.40. The reason is that the "bytes transferred" argument to the callback is the number of bytes until the separator is found, but more bytes than that are decoded from the socket into the input stream.

Building interactive games on top of a web/HTTP technology stack

I recently answered question on the gamedev.net multiplayer and networking forum, that I feel warrants further distribution. The question dealt with trying to use MySQL eventing and MySQL data as the "server" for a large-scale multi-player web-based game.

jwatte's picture

Highscores for XNA 4.0 test release

I've heard the requests, and decided that they are right: It's better to release something that probably works for Xbox for XNA 4.0 now, and then follow up with the Phone version later.

jwatte's picture

MUD/Telnet terminal emulation

Now and then, someone will say "hey, I want to write a MUD (or some other text-based program), and I want the text to be in color -- how do I do this?"

The answer actually requires a little bit of understanding of pre-Internet computer arcana, so here we go:

jwatte's picture

The XNA Offline and Online Highscores Component Version 2 (distributed leaderboards, sort-of)

XNA Game Studio makes it possible to write games for the Xbox without being a developer with good publisher contacts and lots of money to pay for marketing and Xbox development kits. This is great!

However, because the XNA Indie Games system is not fully controlled by Microsoft, certain features of Xbox Live! are not available, because they would be too easily abused. These features include online Leaderboards, and unlockable Achievements.

The XNA community has developed alternatives to those functions. Many XNA games contain "Awardments" that can be unlocked, and many more XNA games use the XNA Network Highscores component to implement distributed, peer-to-peer highscore sharing. The name for this is generally "Online Highscores" rather than "Leaderboards," because the latter name is reserved for use by Microsoft-certified titles that use the real Xbox Live! functionality.

This article introduces version 2 of the XNA Online highscores component, which is free for you to use in your own game under the terms of the MIT license.

jwatte's picture

Structure of a user-hosted client/server network game

Recently, a question came up about how to structure a client/server networked game where users can host games that other users can join. I think I did a reasonably concise write-up of a common-sense approach that's been successful for many years, so I'm archiving it here for posterity:

Syndicate content