Amazing Collection of online role playing games for your website!

Skrupel

HOT
Only registered and logged in users can download this file.
Rating
(0 votes)
Technical Details
Filename skrupel.zip
Size 3.22 MB
Downloads 95
Author Unknown
Created 2009-12-31
Changed 2025-12-11
System PHP 5.x
Price $0.00
Screenshot
Skrupel

Command a starfaring civilization in a turn-based 4X strategy epic. Explore a galaxy of anomalies and nebulae, colonize planets, construct starbases and ship hulls, engage in orbital and ground battles, and outsmart rivals through diplomacy, espionage, and political maneuvering. Skrupel’s robust systems make each campaign a story of discovery, expansion, and conflict.

Built for competitive play with per-game forums, tournaments, rankings, and rich race content, Skrupel delivers classic space conquest with depth and replayability. It’s a mature, feature-complete experience that rewards strategic thinking and long-term planning.

File Verification
MD5 Checksum
e1f4f582cffd8a47e9d6a021638b3942
SHA1 Checksum
0c31bdeaa5ca008974b99c2c9d0979ffc5083425

Skrupel - Tribute Compilation V0.974 - German Space Strategy Game - Game Analysis Report

1. IDENTITY & METADATA

Name: Skrupel - Tribute Compilation

Version: V0.974

Genre: Turn-based space strategy game (4X: Explore, Expand, Exploit, Exterminate)

Type: Web-based multiplayer strategy game

Developer: Bernd Kantoks

Email: This email address is being protected from spambots. You need JavaScript enabled to view it.

Website: http://www.skrupel.de (official portal)

Copyright: © 2010 Bernd Kantoks

License: GNU General Public License v2 (or later)

Language: German (Deutsch) with English and French translations

Status: Mature production release

Game Style: Similar to VGA Planets, Master of Orion, Space Empires

GAME CONCEPT: Browser-based turn-based space conquest game. Players control space empires, colonizing planets, building fleets, conducting diplomacy, engaging in orbital/ground combat. Race-based gameplay with unique species traits (like Orion Conglomerate). Meta-game support for tournaments and rankings.

INCLUDED RACE: Orion Konglomerat V1.2 (additional races available for download from skrupel.de)

2. CODEBASE STATISTICS

File Composition

  • 309 PHP files (3,384 KB, 52,093 lines total)
  • 606 GIF files (925 KB) - Game graphics
  • 264 JPG files (1,936 KB) - Planet/ship images
  • 30 PNG files (118 KB) - UI elements
  • 27 TXT files (93 KB) - Race data, documentation
  • 12 JS files (138 KB) - JavaScript utilities
  • 9 CUR files (20 KB) - Custom cursors
  • 2 CSS files (4 KB) - Stylesheets
  • 1 ICO file (1 KB) - Favicon
  • 1 SWF file (2 KB) - Flash element
  • 1 HTC file (4 KB) - IE behavior file
  • Total: 1,262 files

Code Metrics

52,093 PHP lines ranks as substantial codebase:

  • Larger than: Shadows Rising (33K), 2 KILL (29K), Promisance series (7-8K)
  • Smaller than: Santic Engine (86K), Orodin (107K)
  • Mid-to-large strategic game engine

Directory Structure

Well-organized modular structure:

Root:

  • index.php (585 lines) - Main entry, login system
  • install.php (807 lines) - Database installer
  • inc.conf_example.php - Configuration template
  • liesmich.txt - German README
  • NUTZUNGBEDINGUNGEN.txt - Terms of use (German)
  • gnu_gpl.txt - GPL license
  • favicon.ico - Site icon

admin/ - Admin control panel:

  • index.php - Admin login
  • welcome.php - Admin home
  • allgemein_alpha/beta/gamma.php - General settings (3 sections)
  • mitspieler_alpha/beta/gamma.php - Player management (3 sections)
  • spiel_alpha/beta/gamma.php - Game creation (3 sections)
  • menu.php - Admin navigation

inhalt/ - Game interface:

  • admin.php - In-game admin panel
  • aufbau.php - Construction
  • basen.php, basen_alpha/beta/gamma.php - Starbases (4 files)
  • flotte.php, flotte_alpha/beta/gamma/delta.php - Fleet management (5 files)
  • galaxie.php - Galaxy map
  • gefecht.php - Combat viewer
  • hilfe.php - Help system
  • hilfe_antriebe/native/osystem/schiff/spionage.php - Help sections (5 files)
  • kommunikation.php - Communication hub
  • kommunikation_board/ch/exch/politik/subfunk.php - Comm subsystems (5 files)
  • menu.php - Game menu
  • meta.php - Meta-game system
  • meta_aufgabe/fordner/optionen/pklassen/rassen/simulation/spezien.php - Meta subsections (7 files)
  • osys_spionage.php - Orbital system espionage
  • planeten.php, planeten_alpha/beta/gamma.php - Planet management (4 files)
  • runde_ende.php - Round end
  • uebersicht.php - Overview hub
  • uebersicht_imperien/kolonien/konplaene/neuigkeiten/uebersicht.php - Overview sections (5 files)
  • zugende.php - End turn
  • classes/ - PHP classes
  • inc.check.php - Session validation
  • inc.header/footer.php - HTML templates
  • inc.hilfsfunktionen.php - Helper functions
  • inc.host.php - Main host processor
  • inc.host_bodenkampf/func/messenger/nebel/orbitalkampf/raumkampf/spielende/spionage.php - Host subsystems (8 files)
  • js/ - JavaScript files
  • css/ - Stylesheets

bilder/ - Image assets (606 GIF + 264 JPG + 30 PNG):

  • Empty.gif placeholders
  • Planet images
  • Ship graphics
  • UI elements
  • Background images
  • Menu icons

daten/ - Game data:

  • antriebe.txt - Drive systems
  • dom_spezien.txt, dom_spezien_art.txt - Dominant species
  • gala_strukturen.txt - Galaxy structures
  • orbitale_systeme.txt - Orbital systems
  • planetennamen.txt - Planet names
  • waffen_energie.txt - Energy weapons
  • orion/ - Orion Conglomerate race data
  • unknown/ - Unknown race data
  • bilder_galaxien/ - Galaxy images
  • bilder_spezien/ - Species images

lang/ - Localization:

  • de/ - German (default)
  • eng/ - English
  • fr/ - French
  • sprachen.php - Language selector

extend/ - Extensions directory:

  • readme.txt - "Place all Extentions here!"

updates/ - Update scripts (version migration)

Database Schema (install.php, 807 lines)

21+ tables created:

Core tables:

  • $skrupel_info - Version info (version, chat, anleitung, forum, forum_url, stat_spiele, extend, serial)
  • $skrupel_user - User accounts
  • $skrupel_spiele - Games (spieler_1-10, spieler_1-10_hash for login links)

Game entities:

  • $skrupel_planeten - Planets (name, klasse, x_pos, y_pos, bild, temp, minen, fabriken, abwehr, logbuch, besitzer)
  • $skrupel_schiffe - Ships (baid, klasse, crew, masse, tank, fracht, antriebe, energetik, projektile, hangar)
  • $skrupel_sternenbasen - Starbases
  • $skrupel_anomalien - Anomalies
  • $skrupel_nebel - Nebulae

Combat:

  • $skrupel_kampf - Combat logs (schiff_id_1/2, name_1/2, rasse_1/2, bild_1/2, energetik_1/2, projektile_1/2, hangar_1/2, schild_1/2, schaden_1/2, art)
  • inc.host_bodenkampf.php - Ground combat
  • inc.host_orbitalkampf.php - Orbital combat
  • inc.host_raumkampf.php - Space combat

Ship hulls:

  • $skrupel_huellen - Ship hulls (baid, klasse, bild_gross, bild_klein, crew, masse, tank, fracht, antriebe, energetik, projektile, hangar, klasse_name, rasse, fertigkeiten, techlevel)

Communication:

  • $skrupel_chat - Chat system
  • $skrupel_neuigkeiten - News (datum, text, an, von, farbe)
  • $skrupel_forum_thema - Forum topics
  • $skrupel_forum_beitrag - Forum posts

Diplomacy:

  • $skrupel_politik - Political relations
  • $skrupel_politik_anfrage - Political requests

Intelligence:

  • $skrupel_scan - Scan data
  • $skrupel_begegnung - Encounters
  • $skrupel_konplaene - Construction plans (Konstruktionspläne)

Meta-game:

  • $skrupel_ordner - Folders/organization

Unique serial key: Generated at install (40-char random consonant-vowel pattern like "babecidufoguhijok...")

3. CORE ARCHITECTURE

Entry Point (index.php, 585 lines)

Multi-language support:

`php

if(array_key_exists('sprache', $_GET) && preg_match('/[abc]+/', $_GET['sprache']) && is_dir("lang/".$_GET['sprache'])) {

include ("lang/".$_GET['sprache']."/lang.index.php");

} else {

include ("lang/".$language."/lang.index.php");

}

`

Database connection:

`php

$conn = @mysql_connect($server.':'.$port,$login,$password);

$db = @mysql_select_db($database,$conn);

`

GZIP compression:

`php

function compressed_output() {

$encoding = getEnv("HTTP_ACCEPT_ENCODING");

$useragent = getEnv("HTTP_USER_AGENT");

$method = trim(getEnv("REQUEST_METHOD"));

$msie = preg_match("=msie=i", $useragent);

$gzip = preg_match("=gzip=i", $encoding);

if ($gzip && ($method != "POST" or !$msie)) {

ob_start("ob_gzhandler");

} else {

ob_start();

}

}

`

Login via hash (direct game links):

`php

if (($hash_f = str_get('hash')) !== false) {

$zeiger = @mysql_query("SELECT * FROM $skrupel_spiele WHERE

spieler_1_hash = '$hash_f' or

spieler_2_hash = '$hash_f' or

spieler_3_hash = '$hash_f' or

... (spieler_4-10_hash)");

if (@mysql_num_rows($zeiger)==1) {

// Auto-login player via hash

}

}

`

Features:

  • Hash-based direct game login (no password needed for specific game!)
  • Client detection (desktop vs mobile)
  • Path customization (pic_path parameter)
  • Error suppression (@mysql_* functions)

Configuration (inc.conf_example.php)

`php

//Datenbankzugangsdaten

$server="localhost";

$port="3306";

$login="";

$password="";

$database="";

//Adminzugangsdaten

$admin_login="admin";

$admin_pass="admin"; // ← DEFAULT PASSWORD!

//Absenderemail des Servers

$absenderemail="This email address is being protected from spambots. You need JavaScript enabled to view it.";

date_default_timezone_set('Europe/Berlin'); // ← German timezone

//Tabellen (21 table definitions)

$skrupel_planeten='skrupel_planeten';

$skrupel_spiele='skrupel_spiele';

// ... (19 more tables)

$language='de'; // Default German

$ping_off=0;

//Player colors (10 players max)

$spielerfarbe[1]="#1DC710"; //grün (green)

$spielerfarbe[2]="#E5E203"; //gelb (yellow)

$spielerfarbe[3]="#EAA500"; //orange

$spielerfarbe[4]="#875F00"; //braun (brown)

$spielerfarbe[5]="#bb0000"; //rot (red)

$spielerfarbe[6]="#D700C1"; //rosa (pink)

$spielerfarbe[7]="#7D10C7"; //lila (purple)

$spielerfarbe[8]="#101DC7"; //blau (blue)

$spielerfarbe[9]="#049EEF"; //hellblau (light blue)

$spielerfarbe[10]="#10C79B"; //türkis (turquoise)

//Error handling

ini_set('display_errors', 0);

ini_set('log_errors', 0);

ini_set('ignore_repeated_errors', 1);

ini_set('error_reporting', E_ALL | E_STRICT);

`

Configuration features:

  • MySQL connection settings
  • Timezone support (Europe/Berlin default)
  • Admin credentials (WARNING: default "admin/admin")
  • Email sender address
  • Table name prefixes
  • Language selection (de/eng/fr)
  • 10-player color scheme
  • Suppressed error display (ini_set display_errors 0)
  • Default admin password

Installation System (install.php, 807 lines)

Checks existing installation:

`php

$zeiger = @mysql_query("SELECT version FROM $skrupel_info");

$array = @mysql_fetch_array($zeiger);

if ($array["version"] == "0.974") {

$installed = true;

}

`

Creates 21 tables:

  • skrupel_info, skrupel_user, skrupel_spiele
  • skrupel_planeten, skrupel_schiffe, skrupel_sternenbasen
  • skrupel_kampf, skrupel_huellen
  • skrupel_chat, skrupel_neuigkeiten
  • skrupel_forum_thema, skrupel_forum_beitrag
  • skrupel_anomalien, skrupel_nebel
  • skrupel_politik, skrupel_politik_anfrage
  • skrupel_konplaene, skrupel_ordner
  • skrupel_scan, skrupel_begegnung

Generates unique serial:

`php

$conso=array("b","c","d","f","g","h","j","k","l","m","n","p","r","s","t","v","w","x","y","z");

$vocal=array("a","e","i","o","u");

$serial="";

@srand((double)microtime()*1000000);

for($f=1; $f<=20; $f++) {

$serial.=$conso[rand(0,19)];

$serial.=$vocal[rand(0,4)];

}

@mysql_query("INSERT INTO $skrupel_info VALUES ('0.974',0,0,0,'http://',0,'','$serial')");

`

Creates 40-character consonant-vowel pattern serial (e.g., "babecidufoguhijokalisomupopurasuvexa")

Host System (inc.host.php + subsystems)

Turn processing engine:

  • inc.host.php - Main host processor
  • inc.host_func.php - Host functions
  • inc.host_bodenkampf.php - Ground combat resolution
  • inc.host_orbitalkampf.php - Orbital combat
  • inc.host_raumkampf.php - Space combat
  • inc.host_spionage.php - Espionage resolution
  • inc.host_nebel.php - Nebula effects
  • inc.host_messenger.php - Message system
  • inc.host_spielende.php - Game end conditions

Turn-based gameplay: Host processes all player orders simultaneously at round end.

4. GAMEPLAY SYSTEMS

Game Setup (Admin Panel)

Three-step admin setup:

  • allgemein_alpha/beta/gamma.php - General settings (game name, rules, turn length)
  • mitspieler_alpha/beta/gamma.php - Player management (create accounts, assign colors)
  • spiel_alpha/beta/gamma.php - Game creation (select players, race assignments, galaxy size)

Solo play supported: liesmich.txt recommends creating solo game for testing.

Race System (daten/)

Included race:

  • Orion Konglomerat V1.2 - Default race with full ship designs, tech tree, special abilities

Race data structure:

  • info.txt - Race information
  • Ship designs (hulls with crew, mass, cargo, weapons)
  • Technology trees
  • Special abilities (fertigkeiten)
  • Species traits
  • Race images (bilder_spezien/)

Additional races: Available for download at skrupel.de portal

Race modularity: All race data in /daten/ subdirectories - easy to add custom races

Planet System (planeten.php, 512 lines)

Planet attributes:

  • Name, Class (klasse)
  • Position (x_pos, y_pos)
  • Image/graphic (bild)
  • Temperature (temp)
  • Mines (minen)
  • Factories (fabriken)
  • Defense (abwehr)
  • Logbook (logbuch)
  • Owner (besitzer)

Planet interface:

`php

$zeiger = @mysql_query("SELECT * FROM $skrupel_planeten where besitzer=$spieler and spiel=$spiel order by name");

$planetenanzahl = @mysql_num_rows($zeiger);

`

Features:

  • Visual planet overview (93x80 pixel JPG images)
  • Scrollable map positioning via JavaScript
  • Tooltip with planet info + logbook
  • Three management screens (planeten_alpha/beta/gamma.php)

Planet classes: Multiple types (images stored as {klasse}_{bild}.jpg)

Fleet System (flotte.php + 4 subsystems)

Fleet management:

  • flotte.php - Main fleet interface
  • flotte_alpha.php - Fleet orders
  • flotte_beta.php - Ship construction
  • flotte_gamma.php - Fleet composition
  • flotte_delta.php - Advanced fleet commands

Ship hulls (skrupel_huellen table):

  • ID, BAID (base ID?)
  • Class (klasse) - Ship type
  • Images (bild_gross, bild_klein) - Large/small graphics
  • Crew capacity
  • Mass (masse)
  • Fuel tank (tank)
  • Cargo hold (fracht)
  • Drive slots (antriebe)
  • Energy weapons (energetik)
  • Projectile weapons (projektile)
  • Hangar bays (hangar)
  • Class name (klasse_name)
  • Race (rasse)
  • Abilities (fertigkeiten)
  • Tech level (techlevel)

Ship construction: Requires factories, resources, tech level

Starbase System (basen.php + 3 subsystems)

Starbases:

  • basen.php - Main starbase interface
  • basen_alpha.php - Construction
  • basen_beta.php - Shipyard
  • basen_gamma.php - Defenses

Functions:

  • Ship construction (accelerated)
  • System defense
  • Resource storage
  • Repair facilities

Combat System (3 types!)

Three combat types:

  • Space combat (raumkampf) - Ship vs ship in open space
  • Orbital combat (orbitalkampf) - Fleet vs planet defenses
  • Ground combat (bodenkampf) - Troop invasions

Combat logging (skrupel_kampf table):

  • Ship IDs, names, races, images
  • Energy weapon exchanges (energetik_1/2)
  • Projectile exchanges (projektile_1/2)
  • Hangar/fighter launches (hangar_1/2)
  • Shield status (schild_1/2)
  • Damage dealt (schaden_1/2)
  • Combat type (art)

Combat viewer: gefecht.php displays combat replays

Galaxy System (galaxie.php)

Galaxy map:

  • Visual star map
  • Planet positions
  • Fleet locations
  • Territory boundaries
  • Navigation interface

Galaxy structures: gala_strukturen.txt defines anomalies, nebulae, special features

Communication System (kommunikation.php + 5 subsystems)

Five communication channels:

  • Board (kommunikation_board.php) - Message board
  • CH (kommunikation_ch.php) - Chat system
  • ExCH (kommunikation_exch.php) - Extended chat
  • Politik (kommunikation_politik.php) - Diplomacy interface
  • SubFunk (kommunikation_subfunk.php) - Sub-functions

News system (skrupel_neuigkeiten):

  • Date (datum)
  • Text content
  • Recipient (an)
  • Sender (von)
  • Color coding (farbe) - by player color

Diplomacy System (politik tables)

Political relations (skrupel_politik):

  • Alliances
  • Peace treaties
  • Wars
  • Trade agreements

Political requests (skrupel_politik_anfrage):

  • Diplomatic proposals
  • Treaty negotiations
  • Acceptance/rejection tracking

Espionage System (osys_spionage.php, inc.host_spionage.php)

Intelligence gathering:

  • Orbital system scans
  • Enemy fleet detection
  • Technology stealing
  • Sabotage missions

Scan data (skrupel_scan table): Stores discovered information

Encounters (skrupel_begegnung table): First contact logs

Forum System (forum tables)

Integrated forums:

  • skrupel_forum_thema - Topics (forum, icon, thema, beginner, antworten, letzter)
  • skrupel_forum_beitrag - Posts (forum, thema, datum, beitrag, verfasser, spielerid, spiel)

Per-game forums: Each game has own forum instance

Meta-Game System (meta.php + 7 subsystems)

Tournament/ranking features:

  • meta.php - Meta-game hub
  • meta_aufgabe.php - Assignments/challenges
  • meta_fordner.php - Folders (typo: should be "ordner")
  • meta_optionen.php - Meta options
  • meta_pklassen.php - Player classes/rankings
  • meta_rassen.php - Race statistics
  • meta_simulation.php - Simulation mode
  • meta_spezien.php - Species management

Advanced competitive play: Tournaments, rankings, player classes

Construction System (aufbau.php)

Build infrastructure:

  • Mines (resource extraction)
  • Factories (ship construction)
  • Defenses (planetary protection)

Help System (hilfe.php + 5 subsystems)

Comprehensive documentation:

  • hilfe.php - Main help
  • hilfe_antriebe.php - Drive systems
  • hilfe_native.php - Native species
  • hilfe_osystem.php - Orbital systems
  • hilfe_schiff.php - Ship types
  • hilfe_spionage.php - Espionage guide

Overview System (uebersicht.php + 5 subsystems)

Strategic overview:

  • uebersicht_uebersicht.php - Main overview
  • uebersicht_imperien.php - Empire statistics
  • uebersicht_kolonien.php - Colony list
  • uebersicht_konplaene.php - Construction plans
  • uebersicht_neuigkeiten.php - News summary

Turn Management

End turn:

  • zugende.php - Submit turn orders
  • runde_ende.php - Round end processing

Host execution: All player turns processed simultaneously by host system

Extension System (extend/)

Plugin architecture:

  • extend/ directory for custom modules
  • readme.txt: "Place all Extentions here!"
  • Modular game additions

Multi-Language Support (lang/)

Three languages:

  • de/ - German (Deutsch) - Default
  • eng/ - English
  • fr/ - French

Language files: Each screen has corresponding lang file (e.g., lang.planeten.php)

URL parameter: ?sprache=de/eng/fr switches language

5. SECURITY ANALYSIS

Password Handling

Configuration:

`php

$admin_login="admin";

$admin_pass="admin"; // ← DEFAULT PASSWORD!

`

Default admin password "admin/admin" (CRITICAL!)

Plaintext password comparison (visible in code)

No password hashing detected

No salting

Hash-based game login:

`php

if (($hash_f = str_get('hash')) !== false) {

// Auto-login via spieler_X_hash

}

`

⚠️ Direct game access via hash - convenient but security risk if hashes leaked

SQL Injection Protection

Vulnerable examples:

`php

$zeiger = @mysql_query("SELECT * FROM $skrupel_spiele WHERE

spieler_1_hash = '$hash_f' or

spieler_2_hash = '$hash_f' or ...");

$zeiger = @mysql_query("SELECT * FROM $skrupel_planeten where besitzer=$spieler and spiel=$spiel order by name");

`

Direct string interpolation (no escaping, no prepared statements)

No mysql_real_escape_string() usage

Commented-out escaping attempt:

`php

//$_POST = @array_map('mysql_real_escape_string', $_POST);

//$_GET = @array_map('mysql_real_escape_string', $_GET);

`

Critical vulnerability: All queries use direct variable insertion

Error Suppression

Everywhere:

`php

$conn = @mysql_connect(...);

$db = @mysql_select_db(...);

$zeiger = @mysql_query(...);

$ok = @mysql_data_seek(...);

$array = @mysql_fetch_array(...);

`

@ operator suppresses errors on ALL database operations

ini_set('display_errors', 0); in config

No error logging to file

Result: SQL injection errors silently ignored = easier exploitation

Input Validation

Helper functions (inc.hilfsfunktionen.php - not examined but referenced):

`php

$login_f = str_post('login_f');

$pass_f = str_post('passwort_f');

$spiel_slot = int_post('spiel_slot');

`

Type-checking functions (str_post, int_post, str_get)

⚠️ Implementation unknown - could be basic or robust

Session Management

Session validation (inc.check.php - referenced but not examined)

⚠️ Unknown session security - need to examine inc.check.php

XSS Protection

Unknown - German text output, HTML generation not examined for escaping

Access Control

Player-specific queries:

`php

$zeiger = @mysql_query("SELECT * FROM $skrupel_planeten where besitzer=$spieler and spiel=$spiel");

`

Player ownership checks (besitzer=$spieler)

Game isolation (spiel=$spiel)

⚠️ Admin panel protection - inc.check.php likely validates

SECURITY RATING: 2/10 (CRITICAL VULNERABILITIES)

Strengths:

  • Player ownership checks (besitzer=$spieler)
  • Game isolation (spiel=$spiel)
  • Type-checking input functions (str_post, int_post)
  • Hash-based game login (convenient)

Critical weaknesses:

  • DEFAULT ADMIN PASSWORD "admin/admin" (CRITICAL!)
  • NO PASSWORD HASHING (plaintext comparison)
  • SQL INJECTION EVERYWHERE (direct string interpolation)
  • ERROR SUPPRESSION (@ operator, display_errors=0)
  • NO PREPARED STATEMENTS
  • NO MYSQL_REAL_ESCAPE_STRING
  • Commented-out escaping (abandoned security attempt)
  • Unknown XSS protection
  • Unknown session security

Compared to collection:

  • Worse than: Most games (PimpAttack 2/10, 2 KILL 3/10 similar level)
  • Similar to: Games with plaintext passwords + SQL injection
  • CRITICAL: Default admin password + SQL injection = immediate compromise

Cannot be deployed publicly without:

  • Changing default admin password
  • Implementing password hashing (bcrypt)
  • Adding SQL injection protection (prepared statements or escaping)
  • Removing error suppression
  • Adding XSS escaping
  • Testing session security

6. TECHNICAL OBSERVATIONS

German Game Development

100% German-developed:

  • Developer: Bernd Kantoks (Germany)
  • Default language: German
  • Timezone: Europe/Berlin
  • Documentation: German README (liesmich.txt)
  • Terms of use: German (NUTZUNGBEDINGUNGEN.txt)
  • Portal: skrupel.de

Target audience: German-speaking strategy gamers

VGA Planets / Master of Orion Inspiration

Game mechanics similar to:

  • VGA Planets (1992) - Turn-based space strategy, host processing, race diversity
  • Master of Orion (1993) - 4X gameplay, ship design, planet colonization
  • Space Empires series - Detailed ship construction, multiple combat types

Classic 4X mechanics:

  • Explore (galaxy map, scanning)
  • Expand (colonization, construction)
  • Exploit (resource extraction, production)
  • Exterminate (three combat types)

Turn-Based Host Processing

Similar to play-by-email (PBEM) games:

  • All players submit orders
  • Host processes turn simultaneously
  • Results distributed
  • Next turn begins

Advantages:

  • No real-time pressure
  • Strategic depth
  • Email notification support (absenderemail)
  • Async multiplayer

10-Player Color Scheme

Unique color assignment:

`php

$spielerfarbe[1]="#1DC710"; //grün

$spielerfarbe[2]="#E5E203"; //gelb

...

$spielerfarbe[10]="#10C79B"; //türkis

`

10 simultaneous players - large multiplayer support!

606 GIF Graphics

Extensive graphics library:

  • Planet images (klasse_bild.jpg format)
  • Ship designs (bild_gross, bild_klein)
  • UI elements
  • Map tiles
  • Background images

Visual polish: More graphics than most browser games

264 JPG Planet Images

Planet variety:

  • Multiple classes (klasse)
  • Multiple images per class (bild)
  • 93x80 pixel thumbnails
  • Detailed planet graphics

Shows: Significant art investment

German Terms Preserved

Code uses German terms:

  • besitzer (owner)
  • spieler (player)
  • planeten (planets)
  • schiffe (ships)
  • sternenbasen (starbases)
  • kampf (combat)
  • neuigkeiten (news)
  • abwehr (defense)
  • fabriken (factories)
  • minen (mines)

Not translated to English internally - authentic German development

Custom Cursors (9 .cur files)

UI polish:

  • Custom mouse cursors
  • Game-specific pointers
  • Enhanced user experience

Rare in browser games!

Flash Element (1 .swf file)

Multimedia:

  • Single Flash file (2 KB)
  • Possibly logo animation?
  • 2010-era technology

IE6-Era Development

HTC behavior file:

`

.htc file (4 KB) - IE behavior file

`

IE-specific MSIE detection:

`php

$msie = preg_match("=msie=i", $useragent);

`

2010 development = IE6/7/8 era (pre-modern browsers)

Scrollbar Styling (install.php)

CSS scrollbar customization:

`css

scrollbar-DarkShadow-Color:#444444;

scrollbar-3dLight-Color:#444444;

scrollbar-Track-Color:#444444;

scrollbar-Face-Color:#555555;

scrollbar-Shadow-Color:#222222;

scrollbar-Highlight-Color:#888888;

scrollbar-Arrow-Color:#555555;

`

IE-only feature (doesn't work in modern browsers)

Skrupel.de Portal

Community infrastructure:

  • Official portal: http://www.skrupel.de
  • Wiki documentation
  • Race downloads
  • Player community
  • Game hosting

Active ecosystem around game engine

GPL v2+ License

GNU GPL terms:

> "You can redistribute it and/or modify it under the terms of the GNU General Public License version 2 or (if you wish) any later version."

Open source commitment with copyleft protection

Terms of Use (NUTZUNGBEDINGUNGEN.txt)

Key requirements (§ sections):

§ 3: Extensions/races not included in main download may have separate licenses

§ 4: Copyright notices in HTML title tags and comments cannot be modified

§ 5: Can rename/rebrand game BUT must provide access to info that:

  • Original name is "Skrupel - Tribute Compilation"
  • Released under GNU GPL
  • Official portal is skrupel.de

§ 6: Registration must be FREE - only nickname + email required

Cannot force additional registration in other systems

§ 7: Cannot charge for playing

Can charge for hosting/administration services

§ 8: Hosting/administration can be commercial

§ 9: Skrupel logo (spiral) usage restricted to game-related pages

Protects: Free access, open source nature, while allowing commercial hosting

22 TXT Data Files

Text-based game data:

  • antriebe.txt - Drive types
  • dom_spezien.txt - Species
  • gala_strukturen.txt - Galaxy features
  • orbitale_systeme.txt - Orbital systems
  • planetennamen.txt - Planet name generator
  • waffen_energie.txt - Energy weapons

Modding-friendly: Easy to edit in text editor

Module Architecture

Organized by function:

  • Admin panel (admin/)
  • Game interface (inhalt/)
  • Data files (daten/)
  • Graphics (bilder/)
  • Languages (lang/)
  • Extensions (extend/)

Clean separation of concerns

7. HISTORICAL CONTEXT

Browser-Based 4X Games (2000s-2010s)

Skrupel represents:

  • Turn-based strategy wave (2005-2012)
  • VGA Planets spiritual successors
  • German gaming community
  • Open source 4X movement

Contemporaries:

  • Ogame (German, 2002)
  • Solar Empire (collection Game #59)
  • Ugamela (Spanish Ogame clone)
  • TradeWars variants

VGA Planets Legacy (1992-present)

VGA Planets influence:

  • Turn-based host processing
  • Multiple races with unique abilities
  • Ship design system
  • Planet colonization
  • Email notifications
  • PBEM gameplay

Skrupel = browser-based VGA Planets for new generation

German Gaming Scene

Strong German game development:

  • Ogame (most successful browser game, German)
  • Travian (German)
  • Ikariam (German)
  • Skrupel (German)

2000s = golden age of German browser gaming

Play-By-Email (PBEM) Transition

PBEM games → Browser games:

  • VGA Planets (PBEM) → Skrupel (browser)
  • Diplomacy (PBEM) → webDiplomacy (browser)
  • Civilization (PBEM) → CivWorld (browser)

2000s transition period from email to web-based turns

2010 Release Date

Context:

  • Facebook gaming peak (FarmVille)
  • Flash gaming decline
  • HTML5 emergence
  • Mobile gaming rise
  • Browser MMO maturity

Skrupel = mature browser strategy at genre peak

"Tribute Compilation" Name

Implies:

  • Tribute to earlier Skrupel versions?
  • Compilation of features/races?
  • Community contributions?

"Tribute" suggests honoring predecessors

Orion Conglomerate

Single included race:

  • Orion Konglomerat V1.2
  • Likely first/default race
  • Additional races downloadable

Name reference: Master of Orion (Orion Sector setting)

Open Source Strategy Gaming

GPL v2 release:

  • Free modification
  • Source availability
  • Community development
  • Server hosting allowed

Contrasts: Commercial games like Ogame (closed source)

Skrupel.de Portal

Community infrastructure:

  • Central portal
  • Wiki documentation
  • Race repository
  • Player forums
  • Game hosting

Long-term support indicated by maintained portal

8. COMPLETENESS & PLAYABILITY

Implemented Features

Core game ( Complete):

  • User registration/login
  • Admin panel (game creation, player management)
  • Multi-game support
  • Hash-based direct login
  • Database installer

Galaxy ( Complete):

  • Galaxy map system
  • Planet colonization
  • Coordinate system (x_pos, y_pos)
  • Visual map navigation
  • Galaxy structures (anomalies, nebulae)

Planets ( Complete):

  • Planet ownership
  • Multiple planet classes
  • Mining (minen)
  • Factory construction (fabriken)
  • Planetary defenses (abwehr)
  • Temperature system (temp)
  • Logbook/notes (logbuch)

Ships ( Complete):

  • Ship construction
  • Hull designs (skrupel_huellen)
  • Crew, mass, cargo
  • Drive systems (antriebe)
  • Weapon systems (energetik, projektile, hangar)
  • Fleet management (5 fleet screens)
  • Ship movement/orders

Starbases ( Complete):

  • Starbase construction
  • Shipyard operations
  • Defense platforms
  • 4 starbase management screens

Combat ( Complete):

  • Space combat (raumkampf)
  • Orbital combat (orbitalkampf)
  • Ground combat (bodenkampf)
  • Combat logging
  • Combat replay viewer (gefecht.php)

Communication ( Complete):

  • Message board
  • Chat system (2 types)
  • News system (neuigkeiten)
  • Forum (topics + posts)
  • Color-coded messages by player

Diplomacy ( Complete):

  • Political relations (skrupel_politik)
  • Treaty system
  • Diplomatic requests
  • Politik interface

Espionage ( Complete):

  • Orbital system scanning
  • Intelligence gathering
  • Scan data storage
  • Encounter logging

Meta-game ( Complete):

  • Tournament system
  • Rankings
  • Player classes
  • Race statistics
  • Simulation mode

Help system ( Complete):

  • Main help
  • Drive documentation
  • Ship guides
  • Espionage guide
  • Native species info
  • Orbital system help

Multi-language ( Complete):

  • German (complete)
  • English (complete)
  • French (complete)
  • URL language switching

Extensions ( Architecture):

  • Extension directory
  • Plugin system (architecture exists)
  • ⚠️ No extensions included (but supported)

Race Content

Included:

  • Orion Konglomerat V1.2 (complete race)

Missing:

  • Additional races (available at skrupel.de)

Playability: 95% (ESTIMATED)

Functional systems:

  • Registration/login (100%)
  • Game creation (100%)
  • Planet management (100%)
  • Fleet operations (100%)
  • Starbase construction (100%)
  • Combat systems (100%)
  • Communication (100%)
  • Diplomacy (100%)
  • Espionage (100%)
  • Meta-game (100%)
  • Help system (100%)
  • Multi-language (100%)

Minor limitations:

  • Only 1 race included (more downloadable)
  • Documentation in German (English/French available)
  • Requires MySQL setup
  • 2010-era UI (IE6 styling)

Overall: FULLY FUNCTIONAL production game ready for deployment (after fixing security!)

9. COMPARISON TO COLLECTION

Unique Features

ONLY game in collection with:

  • Turn-based host processing (PBEM-style)
  • Three combat types (space, orbital, ground)
  • 10-player multiplayer
  • Race/species system with modular races
  • Meta-game/tournament system
  • Hash-based direct game login
  • German as primary language (Polish/Dutch seen, but German dominant)
  • Custom cursors (9 .cur files)
  • VGA Planets-style gameplay

Codebase Size

52,093 PHP lines = substantial:

  • Larger than: Shadows Rising (33K), 2 KILL (29K), Promisance (7-8K)
  • Similar to: Mid-to-large strategic games
  • Smaller than: Santic Engine (86K), Orodin (107K)
  • Well-sized for 4X strategy game

Graphics Density

920 image files = MOST IN COLLECTION!

  • 606 GIF + 264 JPG + 30 PNG + 9 CUR = 909 graphics!
  • More than 2 KILL (407 images) - previous leader!
  • Most graphically rich game analyzed

Multi-Language Support

3 languages (de/eng/fr):

  • German (primary)
  • English (full translation)
  • French (full translation)

Compares to:

  • Santic Engine (Polish, multi-language architecture)
  • 2 KILL (Dutch only)
  • Most games (English only)

Tied for most languages with multi-language capable games

Strategic Depth

Most complex strategy game:

  • 4X gameplay (Explore, Expand, Exploit, Exterminate)
  • Multiple ship types
  • Three combat types
  • Diplomacy system
  • Espionage system
  • Planet management
  • Resource economy
  • Tech levels

Deeper than:

  • All RPGs (character-focused)
  • All crime games (single-player focused)
  • Empire builders like Promisance (simpler mechanics)

Turn-Based Uniqueness

Only asynchronous multiplayer:

  • All players submit turns
  • Host processes simultaneously
  • Email notifications
  • No real-time pressure

All other games: Real-time or semi-real-time

Player Count

10 players maximum:

  • More than most games (1-4 players typical)
  • Color-coded player system
  • Large-scale conflicts

Security Issues

2/10 security = WORST TIER:

  • Similar to: PimpAttack (2/10), 2 KILL (3/10)
  • Default admin password
  • SQL injection everywhere
  • No password hashing

Despite great gameplay, CANNOT deploy publicly without security fixes

Documentation Quality

Excellent:

  • Detailed README (liesmich.txt)
  • Terms of use (NUTZUNGBEDINGUNGEN.txt)
  • In-game help system (6 help files)
  • Wiki at skrupel.de
  • Installation guide

Better than most games in collection

Community Support

Active ecosystem:

  • Skrupel.de portal
  • Race repository
  • Wiki documentation
  • Player forums
  • Server hosting

Similar to:

  • Vallheru/Santic (Polish community)
  • Better than most standalone games

Production Quality

95% complete = TOP TIER:

  • Fully functional
  • Polished UI
  • Extensive graphics
  • Complete features
  • Multi-language
  • Documentation

Only limitations:

  • Single included race (more available)
  • 2010-era UI styling
  • Security vulnerabilities

Race Modularity

Unique race system:

  • Text-based race data (daten/)
  • Downloadable races
  • Easy custom race creation
  • Race repository at skrupel.de

No other game has modular race system

10. RATING & VERDICT

Overall Rating: 7/10

Breakdown:

  • Code Quality: 6/10 (organized, but 2010-era practices, SQL injection)
  • Security: 2/10 (CRITICAL: default password, SQL injection, no hashing)
  • Features: 10/10 (complete 4X game, all systems functional)
  • Innovation: 9/10 (turn-based host, 3 combat types, race system, meta-game)
  • Playability: 9/10 (95% complete, fully functional, 1 race limit minor)
  • Documentation: 9/10 (excellent README, help system, terms of use, wiki)

Tier Classification: HIGH-QUALITY STRATEGIC GAME WITH CRITICAL SECURITY FLAWS

Strengths

  • Complete 4X gameplay - Explore, Expand, Exploit, Exterminate
  • Turn-based host processing - PBEM-style async multiplayer
  • Three combat types - Space, orbital, ground
  • 10-player multiplayer - Large-scale strategy
  • Race system - Modular races, downloadable content
  • 920 graphics - Most in collection! (606 GIF + 264 JPG + more)
  • Meta-game system - Tournaments, rankings, player classes
  • Planet management - Mines, factories, defenses
  • Fleet system - Ship construction, 5 management screens
  • Starbase system - Construction, shipyards, 4 screens
  • Diplomacy - Political relations, treaties
  • Espionage - Intelligence gathering, scanning
  • Communication - Board, chat, news, forum
  • Multi-language - German, English, French
  • Hash-based login - Direct game access (convenient)
  • Help system - 6 comprehensive help sections
  • Extension system - Plugin architecture
  • Documentation - Excellent README, wiki, terms
  • Community - Skrupel.de portal, races, forums
  • 95% complete - Fully functional production game

Weaknesses

  • CRITICAL: Default admin password - "admin/admin" (EXPLOIT ME!)
  • CRITICAL: SQL injection - Direct string interpolation everywhere
  • CRITICAL: No password hashing - Plaintext comparison
  • Error suppression - @ operator, display_errors=0
  • No prepared statements - Vulnerable queries
  • Commented-out escaping - Abandoned security
  • Unknown XSS protection
  • 2010-era code - IE6 styling, scrollbar hacks
  • Single included race - Orion only (more downloadable)
  • German-centric - Primary language (English available)
  • No mobile optimization - Desktop-focused
  • Flash element - Outdated technology
  • IE-specific HTC file - Won't work in modern browsers
  • Large image count - 920 files = bandwidth/storage
  • German code terms - besitzer, spieler, etc. (not harmful, but unusual)

Historical Significance

Important for:

  • VGA Planets legacy - Browser-based spiritual successor
  • German gaming history - Part of German browser game golden age (Ogame, Travian, Ikariam)
  • Turn-based strategy - PBEM transition to web
  • 4X genre - Complete browser-based 4X implementation
  • Open source strategy - GPL v2 4X game
  • Race modularity - Downloadable/custom races

Demonstrates:

  • Mature turn-based strategy development
  • German game design excellence
  • Community-driven content (race repository)
  • Long-term support (skrupel.de portal)

Modern Deployment

NOT RECOMMENDED without security fixes:

  • CRITICAL: Change default admin password
  • CRITICAL: Implement password hashing (bcrypt)
  • CRITICAL: Fix SQL injection (prepared statements or escaping)
  • Remove error suppression
  • Add XSS escaping
  • Test session security
  • Remove IE6-specific CSS
  • Remove Flash element
  • Update to modern MySQL (not deprecated mysql_* functions)
  • Test in modern browsers

WITH security fixes = EXCELLENT:

  • Fully functional 4X game
  • Complete feature set
  • Multi-language support
  • Active community
  • Race repository
  • Tournament/meta-game
  • Documentation/wiki

Estimated fix time: 40-80 hours (security + modernization)

Recommendation

For 2010 standards: 9/10 (excellent 4X game, complete features, polished)

For 2025 deployment: 4/10 (critical security flaws prevent use)

For learning/reference: 8/10 (good 4X architecture, modular design)

Best for:

  • 4X strategy gaming (after security fixes)
  • Turn-based multiplayer
  • German gaming community
  • VGA Planets fans
  • Strategy game developers (reference)
  • Open source modding

Not for:

  • Public deployment (without security fixes)
  • Security-sensitive applications
  • Mobile gaming (desktop-focused)
  • Quick casual play (strategic depth requires time)

Comparison:

  • Best 4X game in collection
  • Most complete strategy game
  • Most graphics (920 files)
  • Worst security (tied with PimpAttack 2/10)
  • Best documentation (with Shadows Rising, openRPG)

Historical value: Excellent example of mature German browser-based 4X strategy game development. Shows peak 2010-era turn-based strategy with VGA Planets influence, complete feature set, and active community support. Represents professional German game design in golden age of browser gaming.

Technical merit: High - well-organized code, modular architecture, complete features. Security flaws prevent higher rating but architecture is solid.

Playability verdict: Fully functional production game - 95% complete with all major systems working. Single included race (more downloadable) only limitation. After security fixes, would be 9/10 excellent 4X game.

Final verdict: Complete and polished 4X strategy game with VGA Planets-style turn-based gameplay, 920 graphics (most in collection!), three combat types, 10-player multiplayer, race system, meta-game, and multi-language support. CRITICAL security vulnerabilities (default admin password, SQL injection, no password hashing) prevent deployment without fixes. Represents peak German browser strategy gaming (2010) with excellent features but 2010-era security. With 40-80 hours security work, would rate 9/10. As-is, demonstrates professional 4X game design in unpatched state. Best value as fully functional strategy game needing security modernization, or as architectural reference for turn-based multiplayer 4X systems.

---

Analysis Date: December 11, 2025

Archive Location: d:\_HOUSE\SOCIALMUD\WWW\_MUD Games\unzipped\skrupel\Skrupel\

Game #61 of 79 in systematic browser game analysis project

Previous: Shadows Rising v0.0.5b (6/10) - Pre-alpha RPG engine, multi-database

Next: Game 62 - Continuing systematic analysis!

Special Notes:

  • MOST GRAPHICS: 920 image files (606 GIF + 264 JPG + 30 PNG + 9 CUR + more)
  • UNIQUE: Turn-based host processing (VGA Planets-style PBEM)
  • UNIQUE: Three combat types (space, orbital, ground)
  • UNIQUE: 10-player multiplayer
  • UNIQUE: Race system with modular downloadable races
  • Complete 4X: Full Explore, Expand, Exploit, Exterminate gameplay
  • Multi-language: German, English, French
  • Meta-game: Tournaments, rankings, player classes
  • German development: Bernd Kantoks, skrupel.de portal
  • 95% complete: Fully functional production game
  • CRITICAL SECURITY: Default "admin/admin" password, SQL injection, no hashing (2/10 security)
  • VGA Planets successor: Browser-based turn-based space strategy

Security Warning

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.