A PHP project that keeps track of server uptimes and integrates with a SMF forum.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ServerChecker
images
ss_sources
.gitignore
LICENSE
README
database.sql

README

PHP Server Status Page v0.5
===========================
Allow users to post their servers and keep track of uptime,
votes, and more with this simple and extensible PHP script.

Author: Travis Burtrum (moparisthebest)
Email: admin@moparisthebest.com

Originally written for: http://www.moparscape.org/serverstatus.php
I plan to keep the repository up to date with the currently running
code at all times.

Features:
----------------------
1. Integration with SMF forum, but extensible to other forums as well (check ss_sources/forums/).
2. Premium (Sponsored) server support.
3. Layout entirely configurable from CSS (theme support in ss_sources/themes/).
4. Full WYSIWYG editor and bbcode support thanks to SMF.
5. IP owner verification.
6. Voting support. (with optional ReCaptcha verification)
7. Dynamic status images, with clean URL support.
8. Can sort by all meaningful table columns.
9. Uses MySQLi.
10. Search powered by the fast Sphinx Search Server.
11. Embedded Youtube support (if your forum bbcode parser supports it)

How to make it work:
----------------------
1. Copy ss_sources/copy_edit_me.php to where you want the script to run
(like /serverstatus.php) and fill in all config details. You can copy
to multiple locations with different details to run multiple instances
of the application with the same codebase.
2. Create databases by importing database.sql
3. Setup sphinx server if you want search.
4. If you want clean URLs to work with the dynamic status images,
you must create the relevant URL rewrite. In lighttpd, it looks like this:
    url.rewrite-once = (
    "^/serverstatus/([^/]*)\.png$" => "/serverstatus.php?action=image&server=$1",
    "^/serverstatus/([^/]*)/([^/]*)\.png$" => "/serverstatus.php?action=image&scale=$1&server=$2",
    )
5. Compile and set up the ServerChecker java maven project (mvn package)
to automatically approve and check the status of servers as a cronjob.
6. Run it, I suggest Lighttpd+FastCGI.

How to comply with License:
----------------------
Basically, the AGPL requires that if you distribute the code,
or if you host the application where the public can access it,
such as a public server status page, then you must provide the
source code along with your modifications as a download on that
page.  This is to promote development of the program and share
code with everyone to improve it.  If you have any questions, 
contact me at admin@moparisthebest.com.  If you use the code, 
I'd love to know, so drop me a line if you would.

License: (full text in LICENSE)
----------------------
MoparScape.org server status page
Copyright (C) 2011  Travis Burtrum (moparisthebest)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Files not written by me with their own license, and download links:
recaptchalib.php: (MIT)  http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest
sphinxapi.php   : (GPL)  http://code.google.com/p/sphinxsearch/source/browse/trunk/api/sphinxapi.php
tbszip.php      : (LGPL) http://www.tinybutstrong.com/dl.php?f=tbszip.zip&s=2

TODO:
----------------------
1. Better database structure, 1 table for normal, banned, and toadd servers.
2. You suggest it!  Or better yet send me a pull request or patch!