Next Previous Contents

1. Introduction

1.1 Synopsis

GNS, or Game Name Search, is a cross-platform C++ library designed to provide integration between your application and online services. The GNS library does not allow you to integrate or communicate with any existing commerical video games. It is designed to integrate with a video game that you are developing to give it the following abilities:

Find other players online

If you are writing an online game, all instances of your game on the Internet could communicate with a single GNS server so that players can see who is playing, and who is interested in playing against other people online.

Internet-based chat room support

GNS does not integrate with IRC, Yahoo Chat, or any existing proprietary instant messaging system. However, game players can talk with each other in chat rooms hosted by a GNS server.

Product updates

Though players can just go to your game's website and download updates, your game could run automatic updates on itself through communicating with a GNS server.

Content Hosting

If your game relies on an active player community creating new models, effects, and plug-ins of your game, you could allow players to exchange content from your game over a remote GNS server. Permissions can be designated per-player so that you can decide who has access to what.

Program Crash Reporting (Win32 only)

Little can be more frustrating than having your players experience software failures that you cannot duplicate. By allowing the GNS client to handle uncaught exceptions, you could set up your game to submit error reports through your GNS server to a MySQL database. In a future release, a MySQL error report browser will be available.

 

1.2 Putting GNS features into your game

Unlike most other third party libraries, the GNS library requires access to a remote server to function properly. So, the implementation, in summary, comes in four steps:

 

1. Find a host for your dedicated GNS server

In order for the GNS client to work, there must be a dedicated GNS server program running on a Windows or Unix-based operating system. The GNS server is an actual running process, like Apache or Microsoft IIS; it will not function if you simply upload it to your website. GNS servers must be managed by professional web hosts.

If you own or lease your own Windows-based web server, and have a dedicated high-speed connection to the Internet, you can run the gnsServe.exe that comes with the Win32 GNS library, or build and run a customized GNS server yourself. If you own or lease a Unix-based web server, you can compile and run the gnsServe project that comes with the GNS library.

If you do not own or lease a web server, you will have to contact a professional web hosting company and ask them to let you run a GNS server that you must build. Because GNS is still in beta and not widely recognized, you may have some difficulty achieving this step.

Until you have access to a dedicated GNS server, you may run the GNS server executable (gnsServe.exe) included with the GNS library on your own computer for testing.

Gamieon, Inc. intends to start offering public GNS server beta hosting by the end of 2005, and offer full service hosting later in 2006. If you are interested in participating, please e-mail support@gamieon.com for details.

 

2. Download the GNS library

You may download the latest GNS library from the GNS website at http://www.gamieon.com/gns . The GNS library package includes both the library and the GNS server source code.

 

3. Build and link the GNS library into your game

The Win32 version of the GNS library comes with already-compiled debug and release DLL's and LIB files for easy linkage with your game. Using the IDE or makefile editor of your choice, add gnsD.lib to the debug version of your project, and gns.lib to the release version of your project.

Unix developers must decompress and build the GNS library and server.

For detailed descriptions of getting the GNS library and server built, please consult section two of this document.

 

4. Configure your game to access the dedicated GNS server

Once everything else is in place, your game needs to actually communicate with the GNS server.  Examples of how to do this may be found in the gnsTest application, which comes with the Win32 version of the GNS library. GNS server configuration information may be found in the documentation that comes with the GNS library.


 

1.3 Changelog

 


Next Previous Contents