Lead a rising crew through organized crimes, grand theft auto, and high-stakes hits. Assemble specialists for OCs, plan the perfect getaway, and build a reputation that turns whispers into fear across every city.
Steal and ship cars between countries, profit from gambling halls, place bounties on enemies, and recruit into your growing crew. With prison breaks, hitlists, forums, and modular systems for crime, travel, and gangs, Mob Star delivers the classic mafia ascent—fast, dangerous, and addictive.
Title: Mob Star (internally called "Mafia Beta")
Genre: Browser-Based Mafia RPG
Release Date: April 15, 2005
Developer: J. Klompen
Email:
Website: http://www.maffia.net.tc (defunct)
License: Unknown / Proprietary (no license file)
Project Status: Functional but incomplete beta
Archive Structure:
mob_star/
└── Mob star/
├── admin*.php # Admin panel (6 files)
├── _*.php # Backend logic files (24 files with underscore prefix)
├── crime.php # Crime system
├── oc.php # Organized crimes (466 lines)
├── gta.php # Grand Theft Auto system
├── crew.php # Gang/crew management
├── blackjack.php # Casino gambling
├── hitlist.php # Player assassination contracts
├── jail.php # Jail system
├── bank.php # Banking system
├── forum.php # Forum system
├── functions.php # Helper functions (387 lines)
├── Class.db.php # Database class
├── images/ # 115 GIF images, 28 JPG, 51 PNM
├── src/ # CSS/resources
└── database.txt # MySQL schema (623 lines, 30+ tables)
<code></code>`
Historical Context:
Mob Star was developed in April 2005, the same month as the developer's copyright header indicates. This makes it contemporary with MetalMech v0.2.6 but predates MCCodes v2.0 by three years. The database.txt file contains a curious header: "Credits to GangsterWar V1! Fixed By GaLiL", suggesting this is either a fork or derivative of another mafia game called GangsterWar. However, all PHP files credit J. Klompen as sole author, indicating he rewrote the codebase while using GangsterWar's database schema as foundation.
Provenance Analysis:
This is the third derivative game encountered in this collection:
---
FLOW: Browser → index.php → _check_user.php → [feature].php → _[feature].php → MySQL
↓
_connect.php
(EXPOSED CREDENTIALS!)
<code></code>`
Critical Design Decision:
// _connect.php (ENTIRE FILE):
$Host = "localhost";
$User = "crimestrik_mob"; // ← EXPOSED!
$Pass = "jeff"; // ← EXPOSED!
$DBName = "crimestrik_mob";
$Link = mysql_connect($Host, $User, $Pass);
mysql_select_db($DBName);
<code></code>`
File Naming Convention:
Example: `crime.php` displays UI, `_crime.php` handles database logic.
Code Statistics:
---
1. Crime System (crime.php, _crime.php)
// Four crime types with percentage chances:
2. Organized Crimes (oc.php - 466 lines, _oc.php - 426 lines)
3. Grand Theft Auto System (gta.php, _gta.php - 314 lines)
// Car theft mechanics:
$car1 = "VW Corrado VR6";
$car2 = "Bently"; // [sic] - Bentley misspelled
$car3 = "Honda S2000";
$car4 = "Porsche GT2";
$car5 = "Mercedes SL600";
$car6 = "Hummer";
$car7 = "Fiat Multipla";
$car8 = "Retard car"; // ← Offensive name
<code></code>`
4. Hitlist System (hitlist.php)
5. Crew/Gang System (crew.php, crewprofile.php, crew_berichten.php, crew_forum.php)
6. Banking System (bank.php, _bank.php)
7. Casino/Gambling (blackjack.php, _blackjack.php - 365 lines, back-up-black.php - 337 lines)
8. Jail System (jail.php, jailbox.php)
9. Travel System (travel.php, _travel.php)
10. Commodity Trading (drugs.php, booze.php, bullets.php, buy.php)
// Booze types (from database.txt):
INSERT INTO <code>booze</code> VALUES ('5724', '467', '7953', '157', 'Netherlands');
// Beer, Rum, Whiskey, Vodka (quantities per country)
<code></code>`
11. Establishment System (establishment.php, est.php)
12. Rank System (functions.php: RankMessage())
// Progression ranks:
0-99: Noob
100-249: Slave
250-599: Hooker
600-3999: Pizza boy
4000-12999: Gangster
13000-24999: Hitman
25000-34999: Gun User
35000-45999: Local Boss // Bug: 459999 in code
46000-64999: Land Lord
65000-79999: Don
80000-99999: Earths Ruler
100000-199999: God's Right Hand
<code></code>`
<em>Note: Code contains bug at Local Boss threshold (459999 instead of 45999)</em>
13. Communication Systems
14. Admin Panel
---
CRITICAL VULNERABILITIES:
1. EXPOSED DATABASE CREDENTIALS IN SOURCE CODE
// _connect.php (PUBLICLY ACCESSIBLE):
$Host = "localhost";
$User = "crimestrik_mob";
$Pass = "jeff"; // ← PLAINTEXT PASSWORD!
$DBName = "crimestrik_mob";
<code></code>`
Impact: Anyone with file access or directory listing enabled can obtain full database access.
2. SQL INJECTION - EPIDEMIC SCALE
// _check_user.php:18 (NO ESCAPING):
$lijstGebruikers = "SELECT * FROM users WHERE username='$name' AND password='$password'";
$resultLijstGebruikers = mysql_query($lijstGebruikers);
// apply_crew.php:19-20 (DIRECT $_GET USAGE):
$name = $_GET['name'];
$id10 = $_GET['id10'];
// Used directly in queries...
// est.php:10 (ZERO VALIDATION):
$id = $_GET['id'];
// Immediately used in database operations
// oc.php:45 (COOKIE-BASED AUTH IN QUERY):
$lijstGebruikers = "SELECT * FROM oc WHERE leader='$cookieusername'";
// $cookieusername from $_COOKIE - user-controllable!
<code></code>`
Grep search found 20+ instances of unescaped `$_GET/$_POST/$_REQUEST` directly in queries.
Only 6 instances of `htmlspecialchars()` and 1 instance of `addslashes()` found across entire codebase:
// counter.inc.php:53 - ONLY sanitization found:
$pagename = addslashes($pagename);
<code></code>`
3. AUTHENTICATION BYPASS
// _check_user.php cookie authentication:
$name = $_POST['name'];
$password = $_POST['password'];
setcookie("cookieusername", $name, time()+86400);
setcookie("cookiepassword", $password, time()+86400);
// Authentication check:
$lijstGebruikers = "SELECT * FROM users WHERE username='$name' AND password='$password'";
<code></code>`
4. XSS (Cross-Site Scripting) EVERYWHERE
// crime.php:23 (DIRECT OUTPUT):
echo "$melding"; // User-controllable variable
// oc.php outputs directly from database without escaping
// forum.php outputs forum posts without sanitization
// inbox.php displays messages without filtering
<code></code>`
5. ERROR SUPPRESSION HIDING FAILURES
// counter.inc.php:21-60 (12+ instances):
@mysql_query("DELETE FROM stats WHERE type='4' AND datum !='$datum'");
$sql = @mysql_query("SELECT count(1) FROM stats WHERE type='4' AND ip='$ip'");
$bezoek = @mysql_result($sql, 0);
@mysql_query("UPDATE stats SET value1=value1+1, value2=value2+1 WHERE type='1'");
// @ suppresses all errors - security issues hidden
<code></code>`
6. DEPRECATED mysql_* FUNCTIONS
7. DIRECTORY LISTING / FILE ACCESS
8. IP LOGGING WITHOUT PRIVACY DISCLOSURE
// counter.inc.php stores IP addresses
// ip_block table stores IPs
// No privacy policy or GDPR compliance
<code></code>`
9. COOKIE SECURITY ABSENT
setcookie("cookieusername", $name, time()+86400);
// Missing: HttpOnly, Secure, SameSite flags
// Vulnerable to XSS cookie theft
<code></code>`
10. RANK SYSTEM BUG = PRIVILEGE ESCALATION
// functions.php:63 (BUG):
if ($old_rank < 459999 AND $new_rank >= 459999) {
$opdracht = "insert INTO inbox values('0','$receiver','$receiver','$datem','You have been promoted to Local Boss Keep on going','0')";
// Should be 45999, not 459999!
// Creates unreachable rank or privilege escalation opportunity
<code></code>`
| Game | Security Score | SQL Injection | Exposed Credentials | Authentication |
|---|---|---|---|---|
| logh (36) | 8/10 | N/A (no DB) | N/A | N/A |
| MCCodes (39) | 7/10 | Some escaping | Hidden | Session-based |
| mafia_warz (38) | 2/10 | Epidemic | YES (2 files) | Cookie-based |
| Mob Star (41) | 1/10 | EPIDEMIC | YES (_connect.php) | Plaintext cookies |
Mob Star ties with mafia_warz as WORST SECURITY in collection.
---
STRENGTHS:
1. Consistent File Naming Convention
[feature].php = Frontend (UI)
_[feature].php = Backend (logic)
admin[feature].php = Admin panel
<code></code>`
This separation is better than inline mixing (unlike MCCodes).
2. Modular Features
Each game system is isolated in separate files (crime, oc, gta, crew, etc.). Better than monolithic design.
3. Helper Functions Library
// functions.php:15-23
function UpdateTable($table, $set, $set_value, $where, $where_value) {
$result = mysql_query("UPDATE <code>$table</code> SET <code>$set</code>='$set_value' WHERE <code>$where</code>='$where_value'");
if ($result) {
return 1;
} else {
return 0;
}
}
<code></code>`
Attempts code reuse (though function is itself vulnerable to SQL injection).
4. Statistics Tracking System
// counter.inc.php implements page view tracking
// Unique visitors vs total hits
// Per-page statistics
<code></code>`
WEAKNESSES:
1. NO INPUT VALIDATION ANYWHERE
// Typical pattern across entire codebase:
$name = $_GET['name'];
// Directly used in queries/output with ZERO validation
<code></code>`
2. Dutch Language Mixing
// database.txt:
-- Tabel structuur voor tabel <code>[land]</code>
-- Gegevens worden uitgevoerd voor tabel <code>auctions</code>
// Variable names:
$lijstGebruikers = "SELECT..."; // "list users" in Dutch
$resultLijstGebruikers = mysql_query($lijstGebruikers);
$opdracht = "insert INTO..."; // "command" in Dutch
$resultaat = mysql_query($opdracht); // "result" in Dutch
$melding = "Login wrong"; // "message" in Dutch
$bloep = "yes"; // "bleep/beep" in Dutch
<code></code>`
Inconsistent language mixing makes code hard to maintain for non-Dutch speakers.
3. Magic Numbers Everywhere
// oc.php:62-93 (weapon types):
if ($we == "") { $we = " Nothing"; }
if ($we == 1) { $we = " HighStandard .22"; }
if ($we == 2) { $we = " MK III"; }
if ($we == 3) { $we = " Thompson"; }
// No constants, just raw numbers
<code></code>`
4. Inconsistent Coding Style
// Opening PHP tags vary:
<? // Short tags (deprecated)
<?PHP // Full tag, uppercase
<?php // Standard
<code></code>`
5. HTML Injection in PHP
// crime.php:19-36 (inline HTML in PHP):
echo "<div class="window">";
echo "<div class="mainTitle">Crimes</div>";
echo "<div class="mainText">";
// No template engine, all inline echo statements
<code></code>`
6. Error Handling = Exit or Suppress
// Only two error strategies:
7. Offensive Code Comments
// gta.php:77
$car8 = "Retard car"; // Offensive disability slur
// oc.php:46
$bezet = "bloep"; // Nonsense variable value
<code></code>`
8. Database Schema Issues
// database.txt uses deprecated MyISAM:
CREATE TABLE <code>auctions</code> (...) TYPE=MyISAM;
// Should use InnoDB for foreign key support
// Excessive varchar(255):
<code>username</code> varchar(255) // Username doesn't need 255 chars
<code>bericht</code> varchar(255) // "message" truncated at 255 chars
<code></code>`
9. No OOP / Classes
Only one class found: `Class.db.php` (database wrapper), but never used. All code is procedural spaghetti.
10. Code Duplication
// Organized crime logic duplicated across:
// Similar patterns repeated for each role (leader, weapon expert, etc.)
---
database.txt Analysis: 623 lines, 30+ tables
Core Tables:
1. users (Primary player table)
CREATE TABLE <code>users</code> (
<code>id</code> int(255) NOT NULL auto_increment,
<code>username</code> varchar(255) default NULL,
<code>password</code> varchar(255) default NULL, -- PLAINTEXT!
<code>email</code> varchar(255) default NULL,
<code>rank</code> int(255) NOT NULL default '0',
<code>money</code> varchar(255) default '0',
<code>bullets</code> int(255) NOT NULL default '0',
<code>health</code> varchar(255) default '100',
<code>country</code> varchar(255) default 'Netherlands',
<code>crew</code> varchar(255) default 'None',
<code>jail</code> varchar(255) default NULL,
<code>on_hitlist</code> varchar(255) default NULL,
<code>ip</code> varchar(255) default NULL,
<code>power</code> varchar(255) default '0',
<code>oc</code> varchar(255) default '0',
<code>kills</code> varchar(255) default '0',
<code>death</code> varchar(255) default '0',
-- 30+ columns total
KEY <code>id</code> (<code>id</code>)
) TYPE=MyISAM;
<code></code>`
2. [land] (Property ownership)
CREATE TABLE <code>[land]</code> (
<code>owner</code> varchar(255) NOT NULL default '',
<code>id</code> int(255) NOT NULL default '0',
<code>type</code> int(255) NOT NULL default '0'
) TYPE=MyISAM;
-- 55 land plots initialized with owner='none'
INSERT INTO <code>[land]</code> VALUES ('none', 1, 0);
-- ... (55 rows)
<code></code>`
3. oc (Organized crimes)
CREATE TABLE <code>oc</code> (
<code>id</code> int(255) NOT NULL auto_increment,
<code>leader</code> varchar(255) default NULL,
<code>weapon_expert</code> varchar(255) default NULL,
<code>explosive_expert</code> varchar(255) default NULL,
<code>driver</code> varchar(255) default NULL,
<code>we</code> varchar(255) default NULL, -- weapon type
<code>ee</code> varchar(255) default NULL, -- explosive type
<code>location_oc</code> varchar(255) default NULL,
<code>oc_id</code> varchar(255) default NULL,
KEY <code>id</code> (<code>id</code>)
) TYPE=MyISAM;
<code></code>`
4. gta (Grand Theft Auto cars)
CREATE TABLE <code>gta</code> (
<code>id</code> int(255) NOT NULL auto_increment,
<code>type</code> int(255) default NULL, -- car model
<code>damage</code> int(255) NOT NULL default '0',
<code>location_car</code> varchar(255) default NULL,
<code>owner_car</code> varchar(255) default NULL,
<code>original</code> varchar(255) default NULL, -- origin country
<code>when</code> varchar(255) default NULL, -- timestamp
<code>ship_time</code> varchar(255) default NULL, -- shipping ETA
KEY <code>id</code> (<code>id</code>)
) TYPE=MyISAM;
<code></code>`
5. crews (Gangs/families)
CREATE TABLE <code>crews</code> (
<code>id</code> int(255) NOT NULL auto_increment,
<code>crew_name</code> varchar(255) default NULL,
<code>crew_tag</code> varchar(255) default NULL,
<code>crew_boss</code> varchar(255) default NULL,
<code>members</code> varchar(255) default '0',
<code>money</code> varchar(255) default '0',
<code>applyer</code> varchar(255) default 'None',
KEY <code>id</code> (<code>id</code>)
) TYPE=MyISAM;
<code></code>`
6. hitlist (Assassination contracts)
CREATE TABLE <code>hitlist</code> (
<code>id</code> int(255) NOT NULL auto_increment,
<code>name</code> varchar(255) default NULL,
<code>prize</code> int(255) NOT NULL default '0',
<code>owner</code> varchar(255) default NULL,
KEY <code>id</code> (<code>id</code>)
) TYPE=MyISAM;
<code></code>`
7. booze (Commodity prices by country)
CREATE TABLE <code>booze</code> (
<code>Beer</code> varchar(255) default '0',
<code>Rum</code> varchar(255) default '0',
<code>Whiskey</code> varchar(255) default '0',
<code>Vodka</code> varchar(255) default '0',
<code>state</code> varchar(255) default NULL -- country name
) TYPE=MyISAM;
-- 10 rows (one per country)
INSERT INTO <code>booze</code> VALUES ('5724', '467', '7953', '157', 'Netherlands');
-- ...
<code></code>`
8. blackjack (Casino games)
CREATE TABLE <code>blackjack</code> (
<code>id</code> int(255) NOT NULL auto_increment,
<code>better</code> varchar(255) default NULL,
<code>bet</code> int(255) NOT NULL default '0',
<code>state</code> varchar(255) default NULL,
<code>card1</code> varchar(255) default NULL,
<code>card2</code> varchar(255) default NULL,
KEY <code>id</code> (<code>id</code>)
) TYPE=MyISAM;
<code></code>`
Schema Issues:
Organized Crime Flow (oc.php):
a. Select OC target (location, type)
b. Create OC in database with leader name
a. View pending OCs
b. Select equipment tier (1-3)
c. Join OC by filling role slot
a. Calculate success chance based on equipment
b. Execute OC
c. Distribute rewards/penalties
d. Set cooldown timer
GTA Mechanics (gta.php):
a. Car spawned in gta table with damage value
b. Car located in current country
a. Ship car to different country (10-minute timer)
b. Sell car for money (value based on damage)
a. Auto-delete from database
b. Notification sent to player
Rank Progression (functions.php):
function RankMessage($old_rank, $new_rank, $receiver) {
// Compare old vs new rank
// If threshold crossed, send promotion message
// Inbox message inserted with rank name
}
// Called whenever player gains rank points
// Automatic message sent to player inbox
<code></code>`
---
Evidence:
-- database.txt:1-3
------------------------------------------------
-- Credits to GangsterWar V1! Fixed By GaLiL --
------------------------------------------------
<code></code>`
This suggests a <strong>three-generation lineage:</strong>
Hypothesis: GangsterWar V1 was an early mafia game with database design but poor implementation. "GaLiL" fixed the database schema, and J. Klompen used that schema to build entirely new PHP code, rebranded as "Mob Star" (or "Mafia Beta" in UI).
Pre-Mob Star Era (2003-2004):
Mob Star Release (April 2005):
Post-Mob Star Era (2005-2008):
vs mafia_warz:
| Feature | Mob Star | mafia_warz |
|---|---|---|
| Codebase Size | 11,536 lines | ~15,000 lines |
| Largest File | 469 lines | 1,417 lines (street.php) |
| Architecture | Modular (feature separation) | Monolithic |
| Security | 1/10 | 2/10 |
| Exposed Credentials | YES (_connect.php) | YES (2 files) |
| Code Quality | 3/10 | 2/10 |
Verdict: Mob Star has better architecture (modular) but equivalent catastrophic security.
vs McCodes v2.0:
| Feature | Mob Star (2005) | MCCodes (2008) |
|---|---|---|
| Security | 1/10 | 7/10 (major improvement) |
| SQL Injection | Epidemic | Mostly prevented |
| Authentication | Cookie plaintext | Session-based |
| Architecture | Modular frontend/backend | Monolithic but organized |
| Community | Unknown/dead | Massive ecosystem |
| Impact | None | Industry standard 7 years |
Lesson: MCCodes learned from disasters like Mob Star. By 2008, security awareness had improved significantly.
---
None. Mob Star is entirely self-contained with zero external libraries.
// Implicit requirements:
Writable directories: None explicitly required
Image assets: images/ (115 GIF, 28 JPG, 51 PNM)
CSS: src/standard.css
<code></code>`
-- MySQL 4.x or 5.x
-- MyISAM table type support
-- No foreign keys needed
-- No stored procedures
-- No triggers
-- ~30 tables to create
<code></code>`
Installation Steps (hypothetical, no installer provided):
Pros:
Cons:
Modern Deployment: IMPOSSIBLE without major rewrites
---
What's Present:
What's Missing:
Playability Status:
Can Install: YES (manual database import)
Can Register: YES (if _connect.php configured)
Can Login: YES (cookie-based auth)
Can Play: YES (all systems present)
Can Admin: YES (admin panel exists)
Security Risk: EXTREME (would be hacked instantly if public)
<code></code>
Historical Significance:
Comparative Value:
To Run on PHP 5.6 (last version supporting mysql_*):
Effort: LOW (4-8 hours)
To Run on PHP 7.x+:
Effort: VERY HIGH (80-120 hours)
To Meet Modern Security Standards:
Effort: EXTREME (200-300 hours)
In This Collection:
In Wild:
---
RATING BREAKDOWN:
| Category | Score | Reasoning |
|---|---|---|
| Security | 1/10 | Exposed credentials, epidemic SQL injection, plaintext passwords |
| Code Quality | 3/10 | Modular structure, but no validation, mixed languages, offensive code |
| Completeness | 8/10 | All systems present and functional |
| Innovation | 2/10 | Derivative of GangsterWar, standard features |
| Playability | 6/10 | Works if security ignored, engaging features |
| Historical Impact | 2/10 | No community adoption, site defunct |
| Preservation Value | 6/10 | Documents GangsterWar lineage, typical 2005 security |
STRENGTHS:
WEAKNESSES:
Comparison to Collection:
Justification:
Educational Value:
Historical Research:
Code Restoration:
Mob Star represents the typical 2005 browser game:
The Lesson: Mob Star failed because security didn't matter until it did. In 2005, password exposure and SQL injection were common. By 2008, MCCodes raised the bar, and insecure games like Mob Star couldn't compete. The market enforced security standards that developers initially ignored.
Technical Quality: 💀 Security Catastrophe (exposed password, SQL injection epidemic)
Feature Completeness: Fully Functional (all systems work if security ignored)
Historical Value: 📚 Medium (GangsterWar heritage, pre-MCCodes security example)
Playability: ⚠️ Beta Quality (works but would be instantly hacked if public)
Recommendation: PRESERVE as historical artifact of pre-framework mafia game development. Mob Star shows why MCCodes' security improvements were revolutionary. This is a textbook example of 2005-era security disasters that modern frameworks were built to prevent. The exposed password in _connect.php alone makes this a valuable teaching tool for "what never to do."
---
Archive Status: PRESERVED
Analyst Notes: This is the second-worst security disaster in collection (tied with mafia_warz). Database credits reveal GangsterWar V1 heritage, making this a derivative work rather than original creation. Modular architecture is superior to contemporaries, but catastrophic security (exposed credentials, epidemic SQL injection, plaintext cookies) makes it unusable in any production context. Valuable as historical artifact documenting pre-MCCodes security practices and fork/derivative workflow common in 2005. Developer's site (maffia.net.tc) defunct, email (
| Category | Rating | Commentary |
|---|---|---|
| Innovation & Originality | ★★☆☆☆☆☆☆☆☆ 2/10 | GangsterWar V1 fork, standard mafia game features, derivative work |
| Code Quality | ★★★★☆☆☆☆☆☆ 4/10 | Organized file structure (_feature.php pattern), but inline HTML/PHP mix |
| Security Posture | ★☆☆☆☆☆☆☆☆☆ 1/10 | CRITICAL: Exposed credentials (crimestrik_mob/jeff), cookie auth, no sanitization |
| Documentation | ★★☆☆☆☆☆☆☆☆ 2/10 | Only database.txt schema, credits to GangsterWar, no license |
| Gameplay Design | ★★★★★★☆☆☆☆ 6/10 | Complete mafia features: crimes, OC, GTA, crews, hitlist, jail, casino |
| Technical Architecture | ★★★★☆☆☆☆☆☆ 4/10 | Basic MVC-like separation ([feature].php + _[feature].php), Class.db.php |
| Completeness | ★★★★★★☆☆☆☆ 6/10 | Functional beta, 101 PHP files, incomplete features, abandoned |
| Historical Significance | ★★★★★★☆☆☆☆ 6/10 | April 2005 mafia game, pre-MCCodes era, GangsterWar lineage documented |
| Preservation Value | ★★★★☆☆☆☆☆☆ 4/10 | Shows early mafia game evolution, GangsterWar connection, but derivative |
Summary: Mob Star (April 2005) is a GangsterWar V1 fork with complete PHP rewrite by J. Klompen (
available
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.