Tape up your fists and step into the underground. Backyard Boxin' is a gritty street boxing RPG where you build a fighter from the ground up—train strength, agility, dexterity, and max HP, then stalk the rankings for your next knockout. Cash your winnings, chase the championship belt, and carve your legacy across city leaderboards. Fast, punchy turn based battles let you jump in for quick bouts or grind your way to legend.
The fight is only half the hustle. Join player run clubs, pool resources, and clash for bragging rights. Hit the casino for slots, dice, and the infamous Scratch n Match—risk your roll, announce your jackpot in chat, and watch the arena take notice. With protection for newcomers, banked savings, and a market of street rivals ready to swing, Backyard Boxin' delivers the raw rush of illegal circuits and the thrill of rising from nobody to champion.
Name: Backyard Boxin
Version: Unknown (circa 2004)
Total Files: 298
Total Size: 1.45 MB
Created Date: August 31, 2004 (Database generation date)
Last Updated: Unknown (appears to be 2004 era)
Author: Unknown (multiple contributors)
Copyright: GPL v2 + Custom Scratch n Match by KPP Internet Promotions
License: GNU General Public License v2 (GPL v2) + Custom components
Project URL: backyardboxin.com (defunct)
PHP Version: PHP 4.3.2+ (tested on this version)
Database: MySQL 3.23.58+ with MyISAM engine
Server: Apache with phpMyAdmin 2.5.7-pl1
| File Type | Count | Total Size (MB) | Purpose |
|---|---|---|---|
| .gif | 113 | 0.283 | UI elements, animations, icons, boxing graphics |
| .php | 104 | 0.255 | Game logic, all functionality |
| .jpg | 51 | 0.496 | Background images, avatars, boxing ring graphics |
| .txt | 7 | 0.103 | Documentation, binary files |
| .html | 5 | 0.014 | Static pages (privacy policy, post info) |
| .phtml | 3 | 0.001 | Configuration files (PHP template style) |
| .sql | 3 | 0.026 | Database schemas |
| .nfo | 2 | 0.014 | Scene release info files |
| .css | 2 | 0.004 | Stylesheets |
| .zip | 2 | 0.115 | Embedded games (TCW v2.0.2, Scratch n Match) |
| .swf | 2 | 0.040 | Flash animations (intro animation) |
| .htaccess | 1 | <0.001 | Apache configuration |
| (no extension) | 1 | 0.038 | Unknown file |
| .tpl | 1 | 0.005 | Template file |
| .swi | 1 | 0.060 | Flash source file |
| Total | 298 | 1.45 | Complete package |
File Distribution Analysis:
Platform: Web-based LAMP stack application
Frontend: HTML with minimal CSS, Flash intro animation
Backend: Pure PHP procedural code with MySQL
Communication: Traditional page reloads (no AJAX)
Session Management: PHP sessions with MySQL-stored user state
Real-time Updates: Timer-based regeneration system (stamina/HP regen)
Game Engine: Turn-based with stamina consumption mechanics
Backyard Boxin is a street boxing browser game where players train amateur boxers to fight for money and respect in underground matches. Players build their fighter's stats (strength, agility, dexterity), battle other players for cash, join boxing clubs, and compete for the championship belt. The game combines RPG-style character progression with PvP combat and gambling mini-games.
The theme revolves around illegal underground boxing circuits - raw, gritty street fighting for dollars. Players manage a single boxer character, training at the gym, recovering at the hospital/clinic, and challenging rivals in the ring. Success brings wealth, the championship belt, and ranking prestige.
This is an open-source game (GPL v2) with some commercial components (Scratch n Match requires license). The package includes two embedded complete games (TCW v2.0.2 and Scratch n Match) as bonus content.
Genre: Boxing RPG / PvP Fighting Game / Browser-based Combat Sim
Theme: Underground street boxing, illegal fighting circuits
Game Style: Turn-based stat-building with real-time PvP battles
Target Audience: Competitive PvP players, boxing/fighting enthusiasts
Gameplay Pace: Fast-paced (quick battles), sessions can be brief bursts
Setting: Urban street boxing in various cities (Bronx is default)
Players develop their boxer through four core attributes:
Primary Stats:
attacker_agility / defender_agilityDerived Stats:
Resource Stats:
Battle Mechanics:
The game features a simultaneous turn-based combat system with automatic round resolution:
Combat Formula:
My Power = floor(dexterity + strength / 5)
Attack Damage = rand(mypower * 1, 1.5)
Attack String = ceil(agility / enemy_agility)
Combat Flow:
swings table (12 types)Swing Types:
The game includes 12 different punch types stored in the database:
Victory Rewards:
Combat Restrictions:
The Gym (shop.php):
Players spend money to permanently increase stats:
Training Cost Calculation:
Total Cost = (repetitions * $110)
Stat Gain = repetitions * 1
Example: Training strength 10 times costs $1,100 and adds +10 strength.
Currency:
Money Sources:
Banking System (bank.php, bank2.php):
1. Slot Machine (cslots2.php):
2. Craps (craps.php):
3. Scratch n Match (scratch.php):
kr_total - Total playskr_chance - Win frequency (algorithmic)kr_max_wins - Daily win capkr_timesaday - Play limit per IP4. Dice Game (dice.php):
Club Features:
Chat System (chat.php, chat2.php):
Mail System (mail.php, mail2.php):
Event Log (log table):
Forum System:
Rankings (rankings.php, cityrankings.php):
Belt System:
belt field: 'yes' or 'no'City System:
Player Protection:
Voting Systems:
The game integrated with multiple game listing sites to drive traffic:
twgvotes fieldwgi_votes char fieldtoprp varchar fieldvotethisweekVote Reward Mechanics:
PayPal Monetization:
Account Types:
Survey Tracking:
survey char(1), surveytwo char(2)Admin Tools:
Admin Logging:
adminlog table tracks all admin actionsIP Tracking:
ip_check table monitors login IPsip_tracker for voting (118,460+ records suggests active game)Ban System:
banned char field ('Y'/'N')Control Table:
turn_timer double fieldFree Turns System:
Profile System:
Combat Tracking:
attacks_in - Incoming attacks receivedattacks_out - Outgoing attacks madeko_limit - Knockout tracking limitMisc Features:
Round System:
round table tracks game roundslastround table stores previous round winnerscount bigint field)Hospital/Clinic:
Battle System:
battle table tracks active fightsThe game uses 30 MySQL tables with MyISAM engine:
Notable Database Statistics:
These numbers indicate this was an actively played game with thousands of real users and substantial engagement.
Complete stat training system
PvP combat with agility-based combos
12 unique punch/swing types
Championship belt system
Boxing club/tribe system
Banking system with protection
Three casino games (slots, craps, scratch)
Two-room chat system with whispers
Private mail system
Event logging
Forum system
Rankings and leaderboards
City system with travel
Protection system for new players
Trap defense mechanism
IP tracking and multi-account detection
Three voting site integrations
PayPal monetization system
Point store with purchases
Account upgrade system
Subscription system
Survey system (2 surveys)
Admin panel with full moderation tools
Ban system
Profile system with avatars
Round/reset system
Hospital/clinic recovery
Title bout system
Attack history tracking
Online user lists
Flash intro animation
Feature Completeness: 95%
This is a complete, production-ready game that was clearly actively played.
Bout system incomplete (bout.php has minimal code)
Craps game not fully integrated
Training.php has wrong database references (jd_players vs players)
Some admin functions may be stubs
Strong Design Elements:
Well-Architected Features:
Strengths:
Weaknesses:
if ($action == train))Code Audit Example:
// From battle.php - multiple vulnerabilities:
mysql_query("update players set hp=$stat[hp] where id=$stat[id]");
mysql_query("update players set wallet=wallet+$creditgain where id=$stat[id]");
mysql_query("insert into log (owner, log) values($stat[id],'You layed...')");
Issues:
Overall Code Quality Rating: 3.5/10
For 2004 standards, this is typical PHP 4 "script" code. Functional but riddled with security holes. The sheer volume of database activity (381K logs, 118K votes) proves it worked in production, but would be catastrophically insecure by modern standards.
What This Codebase Is Good For Today:
NOT Recommended For:
Minimal Setup (EXTREMELY DANGEROUS):
Server Requirements:
Installation Steps:
config.phtml:database.sql via phpMyAdmincreatetables.sql for Scratch n MatchCritical Issues:
Estimated Effort: 500-700 hours (12-17 weeks full-time)
1. PHP Modernization (200-280 hours)
Critical Changes:
Example Modernization:
// OLD (2004):
if ($action == train) {
mysql_query("update players set $train=$train+$gain where id=$stat[id]");
}
// MODERN (2024):
if ($request->input('action') === 'train') {
$validStats = ['max_hp', 'agility', 'dexterity', 'strength', 'max_stamina'];
$train = $request->input('train');
if (!in_array($train, $validStats)) {
throw new InvalidArgumentException('Invalid stat type');
}
$stmt = $pdo->prepare("UPDATE players SET {$train} = {$train} + ? WHERE id = ?");
$stmt->execute([$gain, $userId]);
}
2. Security Overhaul (150-200 hours)
Critical Vulnerabilities to Fix:
SQL Injection - EVERYWHERE (highest priority):
// Vulnerable:
mysql_query("select * from players where id=$id");
// Fixed:
$stmt = $pdo->prepare("SELECT * FROM players WHERE id = ?");
$stmt->execute([$id]);
XSS (Cross-Site Scripting) - All output:
// Vulnerable:
print "Welcome $stat[user]";
// Fixed:
echo "Welcome " . htmlspecialchars($user->name, ENT_QUOTES, 'UTF-8');
Password Security - Critical:
Payment Security - PayPal Integration:
Session Security:
Additional Security Measures:
3. Database Modernization (60-80 hours)
4. Frontend Modernization (100-140 hours)
5. Casino Game Modernization (40-60 hours)
6. Payment System Modernization (40-60 hours)
7. Architecture Refactoring (80-100 hours)
8. Testing & Quality Assurance (60-80 hours)
Total Estimated Modernization Cost: $25,000 - $70,000 at industry rates
Verdict: The game mechanics are simple and engaging (proven by 381K log entries), but the implementation is dangerously outdated. The combat system is straightforward and fun, and the monetization model (voting + PayPal) was clearly effective.
However, building from scratch would be 40-50% faster than refactoring. You'd essentially rewrite 90%+ of the code anyway. The only reusable elements are:
A modern rebuild with Laravel + Vue.js + WebSockets would take 400-500 hours vs 500-700 hours to modernize this codebase.
What Works Well:
What Doesn't Work:
Grade: D (Barely functional but dangerous)
The game clearly worked in production (381K log entries don't lie), but it's held together with duct tape and prayer. Security is non-existent, code quality is poor even for 2004 standards, and multiple systems are incomplete or broken.
CRITICAL SECURITY RISKS (Severity: 10/10):
1. SQL Injection Everywhere - Every database query is vulnerable:
// From battle.php:
mysql_query("update players set wins=wins+1 where id=$stat[id]");
// Attacker sets $stat[id] to: "1; DROP TABLE players; --"
// Result: Entire player database deleted
Attack Surface:
2. Ancient PHP Version - PHP 4.x/5.x Requirements:
3. Password Security Disaster:
// Password stored in varchar(15) - suggests plain text or MD5
CREATE TABLE `players` (
`user` varchar(15) NOT NULL default '',
`pass` varchar(15) NOT NULL default '',
Impact:
4. Payment System Vulnerabilities - CATASTROPHIC:
PayPal Integration Issues:
Attack Scenarios:
// Attacker manipulates PayPal IPN:
POST to pptest.php with:
payment_status=Completed
mc_gross=1000.00
item_number=999999
// Result: Free points/subscriptions without payment
Financial Impact:
5. XSS (Cross-Site Scripting) - Everywhere:
// From various files:
print "Welcome $stat[user]";
print "$enemy[user] attacked you!";
Attack Vectors:
<script>steal_session()</script><img src=x on-error=malware()><iframe src=phishing.com>Impact:
6. CSRF (Cross-Site Request Forgery) - No Protection:
Attack Example:
Result: While logged in, victim:
7. Register Globals Exploitation:
// Code depends on: if ($action == train)
// Attacker URL: shop.php?action=train&stat[id]=1&stat[wallet]=999999
// Result: Modify any variable including:
$stat[id] = 1; // Become admin
$stat[wallet] = 999999; // Infinite money
$stat[belt] = 'yes'; // Steal championship
8. Casino RNG Manipulation:
// From cslots2.php:
$r1 = rand(1,5);
$r2 = rand(1,5);
$r3 = rand(1,5);
if ($r1 == $r2 && $r2 == $r3) {
// Win 10x bet
}
Issues:
9. File Upload Vulnerabilities (if avatar upload exists):
avatar.php.jpg10. Session Hijacking:
Real-World Attack Scenarios:
Scenario 1: Total Takeover (5 minutes)
`sql
-- In username field during signup:
admin' OR '1'='1
-- Or in any search/filter:
'; UPDATE players SET pass='hacked', rank='Admin' WHERE id=1; --
`
Result: Admin account compromised, full database access.
Scenario 2: Financial Fraud (2 minutes)
`
`
Result: Infinite premium currency, bankrupts game economy.
Scenario 3: Worm Distribution (10 minutes)
// In chat message:
<script>
// Steal session, post to all chat rooms
fetch('/chat.php', {
method: 'POST',
body: 'chat=' + encodeURIComponent('<script src=evil.js></script>')
});
</script>
Result: Self-replicating malware infects all users viewing chat.
Scenario 4: Championship Belt Theft (1 minute)
// Visit: battle.php?stat[belt]=yes&stat[id]=1&enemy[belt]=no&enemy[hp]=0
Result: Instant championship without fighting.
Impact Assessment:
DO NOT DEPLOY THIS CODE TO ANY INTERNET-ACCESSIBLE SERVER
Even local testing is risky without network isolation. The 62 PayPal transactions in the database mean real money was processed through this vulnerable system. Historical breaches likely occurred but went undetected.
Innovation Score: 5/10 (for 2004)
Standard Elements:
Moderately Innovative Elements:
Agility-based Combo System - Clever Formula
attacks = agility_ratioDerivative Elements:
Uniqueness Score: 4/10
Backyard Boxin is a straightforward boxing RPG in the crowded 2004 browser game market. It doesn't break new ground but executes the formula competently. The boxing theme is less common than medieval/mafia themes, giving it minor differentiation.
The combat system's agility-based combos show original thinking, and the embedded Scratch n Match game adds unique value. However, most features are standard browser game fare.
Historical Significance:
Backyard Boxin represents the mid-tier commercial browser game of 2004. Not innovative enough to be remembered, but successful enough to generate:
These numbers prove it worked commercially. The game sustained a real community and generated revenue through multiple streams (voting traffic + direct payments).
vs. Urban Dead (2005):
vs. Kingdom of Loathing (2003):
vs. Mafia-themed games (abundant in 2004):
Market Position: Lower mid-tier commercial product. Not polished enough to compete with top free games, but functional enough to attract paying customers.
Bottom Line
This wasn't a hobby project - this was a functioning commercial game. The game design is decent; the implementation is catastrophically dangerous. If you want to recreate this game today, study the mechanics, appreciate the monetization model, learn from the engagement numbers, and then build it from scratch with Laravel + Vue.js.
| Historical Value | ★★★☆☆ 3/5 - Decent commercial success example |
|---|---|
| Code Quality | ★☆☆☆☆ 1/5 - Barely functional, riddled with bugs |
| Game Design | ★★★☆☆ 3/5 - Simple but engaging mechanics |
| Monetization Strategy | ★★★★☆ 4/5 - Multi-stream revenue, real success |
| Community Engagement | ★★★★★ 5/5 - 2,776 players, 381K logs, 62 payments! |
| Security | ☆☆☆☆☆ 0/5 - Catastrophic vulnerabilities everywhere |
| Overall Grade | D Functional commercial game, extremely dangerous code |
Running many of the scripts in this archive on a live server presents a serious security risk. These projects were created before modern hardening practices and may contain vulnerabilities that can compromise your system.
We strongly recommend using this code for reference and analysis only, or in isolated local environments. By downloading these files, you accept full responsibility for their use.