sierra-zero / masterserver-pushbuttonlabs Goto Github PK
View Code? Open in Web Editor NEWThis project forked from torquegameengines/masterserver-pushbuttonlabs
License: GNU General Public License v2.0
This project forked from torquegameengines/masterserver-pushbuttonlabs
License: GNU General Public License v2.0
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]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.