Andrew
Well-known member
Hi everyone,
I am creating this thread to track the progression of a Top-Site add-on that I am developing. This add-on was originally requested here. I will update this thread often with planned features and development progress. Don't know what a top-site is? Here is an example.
Current Goals and Objectives (in no particular order):
Below are some of the planned features for server listings/display.
Server Entries will include:
List of Supported Games:
Current Development Notes:
Theory:
MCS = Minecraft Server (but can be any type of supported game server)
GQ-Ping = GameQ Library & my pingServer.php file
Cron = Automatic calling of pingServer.php file
DB = Database
Server List = top site version of the list (what the user see's)
To try and save server resources this is what I have come up with. Every X amount of time, we will run a cronjob that will trigger our "pingServer.php" file. This file will communicate with the database and figure out which server needs to be pinged (next). Once the ping is done and the results are back, we update the database with the new server stats (players online etc). Then when a user wants to see those stats, they will invoke a different file (serverList.php) and it will return to them a list of game servers. This seems to be more efficient than letting the user ping game servers directly. If you have a popular website and you have 200 users trying to ping a list of 1,000 servers, that is 200,000 pings. Not cool. If anyone has any additional infomation they would like to add to this, please don't hesitate. But remember to play nice
If you have any questions or feature requests, please post them below. Thanks for viewing.
I am creating this thread to track the progression of a Top-Site add-on that I am developing. This add-on was originally requested here. I will update this thread often with planned features and development progress. Don't know what a top-site is? Here is an example.
Current Goals and Objectives (in no particular order):
- Design classes and methods for output (top site style) - In Progress
- Design classes and methods for server input (adding to db/list)
- Implement mySQL database - In Progress
- Integrate GameQ library files - In Progress
- Code in server list Sorting Options
- XF plugin coding/implementation research
- Code server list layout
- Explore Ajax/JS options for smoother list/submission display
- Add voting system (for ranking)
- Add comment system per server
- Add rating system per server
- Add trophies
- Add Advertisement Auctioning system
Below are some of the planned features for server listings/display.
Server Entries will include:
- Server Banner
- Server Rating
- Server Ranking
- Server Name (title)
- Server Description
- Includes normal XF Editor (which supports video's and bbcode, etc)
- Comment System
- IP & Port & Online Stats
- Voting w/ Spam Protection (w/ user permissions, example unregistered voters or usergroup specific voting)
- Configurable Voting Times (example: 6, 12, or 24 hour intervals etc)
List of Supported Games:
- Age of Chivalry
- Alien Swarm
- America's Army
- America's Army 3
- Armed Assault
- Armed Assault 2
- Armed Assault 2: Operation Arrowhead
- Armed Assault 2: DayZ Mod
- Brink
- Battlefield 1942
- Battlefield 2
- Battlefield 2142
- Battlefield 3
- Battlefield Bad Company 2
- Battlefield Bad Company 2: Vietnam
- Battlefield Vietnam
- Call of Duty
- Call of Duty 2
- Call of Duty 4
- Call of Duty: Modern Warfare 3
- Call of Duty: United Offensive
- Call of Duty: World at War
- Counter-Strike 1.6
- Counter-Strike: Condition Zero
- Counter-Strike: Source
- Crysis
- Crysis 2
- Crysis Warhead
- Crysis Wars
- Day of Defeat
- Day of Defeat: Source
- Doom 3
- Enemy Territory: Quake Wars
- F.E.A.R.
- Fortress Forever
- Garry's Mod
- Ghost Recon: Advanced Warfighter
- Ghost Recon: Advanced Warfighter 2
- Gore
- Half Life Deathmatch
- Half Life 2: Deathmatch
- Homefront
- Insurgency
- Killing Floor
- Left 4 Dead
- Left 4 Dead 2
- Medal of Honor: Allied Assault
- Medal of Honor: Spearhead
- Medal of Honor Warfighter
- Minecraft
- Multi Theft Auto
- Natural Selection
- Natural Selection 2
- Quake 2
- Quake 3
- Quake 4
- Red Orchestra: Ostfront 41-45
- Red Orchestra 2
- Return to Castle Wolfenstein
- San Andreas Multiplayer
- Soldat
- Soldier of Fortune 2
- Team Fortress Classic
- Team Fortress 2
- Teeworlds
- Terraria
- Tribes 2
- Unreal Tournament
- Unreal Tournament 3
- Unreal Tournament 2004
- Warsow
- Wolfenstein Enemy Territory
- Zombie Master
- Zombie Panic: Source
Current Development Notes:
10/10/2013:
Today I was able to get the results of a ping, and add them to a database. Then display the results on another file. Next thing to do, is have the script loop through the database and update all servers, instead of just one, like I have it working right now. I'll save this for tomorrow.
10/9/2013:
Today I have been working with the library to grab server results. I am successfully able to ping a server and display them. Step one of the server-top list complete.
http://i.imgur.com/vzWao03.png
The left screen shows my test code for pinging a server and the right screen shows the results. I may not do to many more code screen shots, but this should let you see what I have working so far. There is a LOT more to do, but this proves that the library indeed works
Theory:
MCS = Minecraft Server (but can be any type of supported game server)
GQ-Ping = GameQ Library & my pingServer.php file
Cron = Automatic calling of pingServer.php file
DB = Database
Server List = top site version of the list (what the user see's)
To try and save server resources this is what I have come up with. Every X amount of time, we will run a cronjob that will trigger our "pingServer.php" file. This file will communicate with the database and figure out which server needs to be pinged (next). Once the ping is done and the results are back, we update the database with the new server stats (players online etc). Then when a user wants to see those stats, they will invoke a different file (serverList.php) and it will return to them a list of game servers. This seems to be more efficient than letting the user ping game servers directly. If you have a popular website and you have 200 users trying to ping a list of 1,000 servers, that is 200,000 pings. Not cool. If anyone has any additional infomation they would like to add to this, please don't hesitate. But remember to play nice
If you have any questions or feature requests, please post them below. Thanks for viewing.
Last edited: