[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [glob2-devel] questions about the network layer and web servers and
From: |
Bradley Arsenault |
Subject: |
Re: [glob2-devel] questions about the network layer and web servers and domain |
Date: |
Tue, 19 May 2009 18:54:01 -0400 |
I would ditch the globulation.org domain name. Or better yet, sell it
off on ebay.
The YOG server is hosted alongside the web server. I'm more inclined
to say that the crashes are the result of bugs, despite how much
testing I've done on the server.
The current network layer channels everything through the server, and
through hosts called "Routers" which can plug into the server
automatically. The server will delegate the routing of games to the
routers, and hosts a router itself. Routers can be started with an
option to glob2 (see glob2 --help). There is no P2P mesh, and there is
no host-based routing.
There is decent class level documentation for all classes involved in
the network code. Almost all networking related classes start with
either Net, YOG, or LAN. If you want a basic overview of the system, I
can give you one here.
The NetConnection class is our wrapper over basic sockets, with
NetMessage being part of this wrapper that allows consistent
serialization and deserialization of net messages. They go through TCP
and as such are queued in order.
There are some data classes in YOG, which don't function as anymore
then containers of data. These include YOGPlayerPrivateInfo,
YOGPlayerStoredInfo, YOGPlayerSessionInfo, YOGMessage, YOGGameInfo and
others.
YOGServer is the server class. It delegates a lot of its duties to
other classes, including YOGServerGame which represents a single game
on the server, YOGServerAdministrator et all that handles admin
commands and moderator commands (like .reset_password or .ban),
classes like YOGServerMapDatabank which handles the maps stored on the
server, or YOGServerPlayer which represents a player connected to the
server.
YOGClient is the main client class, which also delegates a lot of
things to other classes. Some of the delegated classes include
YOGClientMapDownloader and YOGClientMapUploader, which handles
downloading and uploading maps to the server respectively,
YOGClientBlockedList which simply maintains a list client blocked
players in the chat rooms, YOGGameListManager which keeps track of the
list of games that the player can join, and YOGClientCommandManager
which handles client-end commands that the user can enter. Anything
with the word Screen at the end of it represents one of the GUI
screens in YOG.
YOGServerRouter et all are classes that handle the delegated system of
routing. All routing is done through seperate connections on a
seperate port address to the routers. The server automatically assigns
a router to every game, counting itself as a possible router.
While the system could probably be done with a lot fewer classes, the
delegated system allows each sub system to expand independently,
allowing the rapid production of new features without the system being
error prone, due to the ease of maintenance. (however it seems the
system is highly buggy in practise, this certainly isn't intended)
On 5/19/09, Kyle Lutze <address@hidden> wrote:
> I have several questions so I'll just bullet them
>
> * I own the domain globulation.org (not globulation2.org). Do we want to
> keep it and point it to globulation2.org or should I let it expire?
>
> *Is the yog server currently hosted on the same system as
> globulation2.org? It seems to disconnect everyone and/or crash
> semi-frequently to the point where it's annoying so I'm curious if it's
> a network issue or YOG server issue.
>
> *can anyone diagram how the current network layer of glob2 works?
> specifically, does all traffic go through YOG during a game or does the
> host become the point for all traffic or is a sort of p2p mesh?
>
> *is there documentation somewhere about the current network layer?
>
> Kyle
>
>
>
> _______________________________________________
> glob2-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/glob2-devel
>
--
Extra cheese comes at a cost. Bradley Arsenault.