Giter VIP home page Giter VIP logo

pushbutton-master-server's Introduction

PushButton Master Server 0.96
by Nathan Martin <[email protected]>


Original ReadME:
-------------------------------------------------
Ben Garney <[email protected]>

Howdy.

This is a very brief approximation of release notes.

The PBMS is licensed under the GPL.

The PBMS is being developed by:
	Ben Garney	      <[email protected]>	- Core app development
	Nick Quijano	<[email protected]>	- Mac OSX port
       Mike Kuklinski    <[email protected]>    - Windows/VC8 port
       Robert West        <[email protected]>    - LoneStarCode Modifications
       Nathan Martin      <[email protected]>    - Complete rewrite of master code, sessioning, and RAM store.

The PBMS consists of three modules:
	masterd		- server
	mbclient	- incomplete client
	network		- support layer

You need plib's NET and UL modules compiled and installed. You can 
get plib from http://plib.sf.net/ - the configure incantation to get
it to work if you don't have sound or graphics is:

Currently, this package is set up for Visual C++ 8 (express).

You will also need SQLite 3. You can get it from http://www.sqlite.com/.

mbclient doesn't really work at this point. :)

masterd will be in the masterd directory, ready to run, assuming
no errors pop up.

This is a prerelease of the source, so please check up on my plans in GarageGames
so that you can get the real, final package when it comes out RSN(tm).

Thanks for giving this a try!
Ben Garney
[email protected]

I have updated key components. I fixed up security holes, added flood protection, added a preference system, and added SQLite 3 support.

Mike Kuklinski
[email protected]
-------------------------------------------------

_____________

 2011-06-08
_____________

I have almost completely gutted out nearly everything and rewrote it all from
scratch. [Almost] everything has been changed to use the same data types that
Torque uses, such as instead of using unsigned int it is U32, etc..

masterd core -- new class MasterdCore to handle initialization and main thread
                management including better configuration/preferences handling.

Packet class -- cleaned up the integer read and write functions with ones that
                don't do per byte read/write, but array based I/O operations
                using readBytes and writeBytes(). The read/write functions are
                buffer size aware now to prevent any possible buffer underruns
                (read) and overruns (write).

TorqueIO     -- The network message type handlers have been updated to be more
                compliant with the torque game client, and resending of list
                packets actually does now work too. Also querying the server
                for game and mission types now works too.

Session      -- SessionHandler module has had, just like many other modules, a
                complete rewrite. SessionHandler is actually gone, but replaced
                with a class called FloodControl and its original purpose was
                to just keep track of remote hosts enough to ban any of them
                suspected of attempting a Denial of Service attack, but later
                on it was also useful to track the sessions of game clients'
                server query results too. Much better than recreating another
                class that does exactly the same thing as FloodControl and only
                track game server list query results. Also note that in the
                near future FloodControl will be renamed to something like
                PeerControl or PeerManager instead.

ServerStore  -- And ServerStoreRAM are the same thing right now. ServerStore is
                is currently only available as a RAM option as SQLite3 was
                already removed by MikeK, which is fine really cause SQLite is
                slow anyway. I pretty much rewrote this module to use the std
                map container to improve server record lookup time and makes
                it a lot easier to maintain than manually handling linked-lists.

MasterdTransport
             -- Solved odd non-responsive / infinite stall by having the class
                actually using poll() instead of ponding on recvfrom() all the
                time. Of course this means this code will only currently work
                on operating systems that support poll() such as Linux and BSD.

And other minor modifications to other files for improvement. This release is
not entirely bug free. ;-)

Nathan Martin
[email protected]

pushbutton-master-server's People

Contributors

dottools avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

jamesu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.