Amazing Collection of online role playing games for your website!

Strike Project

HOT
Only registered and logged in users can download this file.
Rating
(0 votes)
Technical Details
Filename strike_project.zip
Size 432.1 KB
Downloads 98
Author Unknown
Created 2004-12-31
Changed 2025-12-11
System PHP 5.x
Price $0.00
Screenshot
Strike Project

Enter the arena for tense, tactical duels where every decision matters. Strike Project’s signature body targeting lets you choose where to attack and defend—head, torso, arms, legs—creating a mind game of prediction and timing. Train your stats, queue for fights, review detailed battle histories, and sharpen your strategy.

Fast-paced and skill-forward, Strike Project delivers satisfying PvP action with a distinctly Russian flair. Learn your opponents, vary your patterns, and earn your victories.

File Verification
MD5 Checksum
dbbf38702730836994a2053a407a37e3
SHA1 Checksum
913ae1b4ece76b52c980ffaa91eb5f74fa055d41

Game 79: Strike Project - Русский браузерный RPG - Game Analysis Report

Overview

Strike Project (Страйк Проект) is a small Russian-language browser-based RPG featuring turn-based arena combat with a unique body hit system. Players train stats, fight in arenas, and manage character progression through an energy/timer-based gameplay loop.

Rating: 5/10 ⭐⭐⭐⭐⭐

Key Information

  • Platform: PHP 5.x with MySQL 4.0.23
  • Developer: staser
  • Community: vpforum.com.ru, vestgrad.com.ru
  • Files: 74 PHP files, 5,766 lines of code
  • Media: 133 GIF images, 6 CSS files, 4 JS files
  • License: GPL (GNU General Public License)
  • Language: Russian (windows-1251 charset)
  • Version: Strike Project v1.0.1
  • Era: 2005 (copyright year)

---

Architecture Analysis

Code Structure

`

Strike Project/

├── Fight System (fight.php, biy.php)

├── User Management (index.php, login.php, inform.php)

├── Character Stats (params.php, level.php)

├── Market (rynok.php, market.php)

├── Hospital (hospital.php)

├── Chat (chat.php, csend.php, ctext_iframe.php)

├── Items (micstures.php, items system)

├── Admin Panel (admin/)

├── Database (sp.sql - 491 lines, 16+ tables)

└── Includes (includes/*.php)

`

Technology Stack

  • Backend: PHP 5.x (no framework)
  • Database: MySQL 4.0.23-nt with MyISAM tables
  • Character Encoding: windows-1251 (Russian Cyrillic)
  • Security: Mixed - uses addslashes() + intval() in some places
  • Template Engine: None (inline HTML/PHP)
  • JavaScript: Custom update.js for AJAX-like functionality
  • CSS: Custom styling (fontstyle.css, formstyle.css)

Database Configuration

File: includes/connect.php

`php

// No hardcoded credentials found in examined files

// Likely uses standard config file approach

`

---

Security Assessment: 5/10 🟡

Security Practices

1. Input Sanitization (MODERATE) 🟡

grep search shows multiple security functions used:

Password Security:

`php

// inform.php - password verification

$res = myquery("select uid from inform where uid=$uid and

passw=md5('".addslashes($_POST['pasw1'])."')", 1);

// login.php

$passw = addslashes($_POST['passw']);

$nick = addslashes($_POST['nick']);

`

Uses MD5 hashing with addslashes() - weak but better than plaintext

Integer Validation:

`php

// fight.php

dohid($fid,$uid,$com,intval($_POST['hid1']),intval($_POST['hid2']),intval($_POST['whom']));

// rynok.php (market)

$tid = intval($_GET['tid']);

$type = intval($_GET['type']);

// ctext_iframe.php

$last_time = intval($_POST['last_time']);

// micstures.php

$_POST['micsture'][$i] = intval($_POST['micsture'][$i]);

`

Consistent use of intval() for numeric inputs - GOOD PRACTICE

String Sanitization:

`php

// csend.php (chat send)

$sender = htmlspecialchars(addslashes($_POST['sender']));

$whom = htmlspecialchars(addslashes($_POST['whom']));

`

Double-escaping with htmlspecialchars + addslashes - prevents XSS and SQL injection

2. Session Security (GOOD)
  • File: includes/checksession.php included in all protected pages
  • Session validation on every request
  • Proper session checking before any operations
3. Admin Security (MODERATE) 🟡
  • Default credentials: admin / password (MD5: 5f4dcc3b5aa765d61d8327deb882cf99)
  • Admin level system (tinyint: 0-3?)
  • Documented in readme.txt - security through obscurity fails
4. SQL Injection Protection (MODERATE) 🟡
  • Uses addslashes() in 20+ locations
  • Consistent intval() usage for IDs
  • Custom myquery() wrapper function
  • Better than raw queries, but not prepared statements
5. Time-Based Ban System

`sql

CREATE TABLE banned (

id int(6) unsigned NOT NULL auto_increment,

uid tinyint(6) unsigned NOT NULL default '1',

toTime int(11) NOT NULL default '0',

btype tinyint(1) NOT NULL default '0',

reason varchar(100) NOT NULL default 'Bad conduct',

PRIMARY KEY (id)

) TYPE=MyISAM;

`

Proper ban tracking with expiration times

Security Weaknesses

  • MD5 Password Hashing - Weak, should use bcrypt/password_hash()
  • addslashes() vs prepared statements - Better than nothing, but not ideal
  • Default Admin Credentials Documented - In readme.txt for all to see
  • No CSRF Protection - Forms vulnerable to CSRF attacks
  • windows-1251 Encoding - Can cause encoding-based attacks
  • PHP 4.0 Era Code - MySQL 4.0.23-nt, MyISAM tables (outdated)

---

Feature Analysis

Core Systems

1. Arena Combat System ⭐⭐⭐⭐⭐

Most Innovative Feature!

File: fight.php (127 lines) + includes/biy.php + includes/history_fns.php

Unique Body Hit System:

The combat uses a body targeting system where players choose:

  • Attack Zone (hid1): Which body part to attack (head, torso, legs, arms)
  • Defense Zone (hid2): Which body part to defend

`php

if (!empty($_POST['hid1']) && !empty($_POST['hid2']) && !empty($_POST['whom'])) {

dohid($fid,$uid,$com,intval($_POST['hid1']),intval($_POST['hid2']),intval($_POST['whom']));

}

`

Combat Mechanics:

`sql

CREATE TABLE fight (

fid int(5) unsigned NOT NULL default '0',

uid int(10) NOT NULL default '0',

flife tinyint(4) unsigned NOT NULL default '0',

fstrong tinyint(4) unsigned NOT NULL default '0',

flike tinyint(4) unsigned NOT NULL default '0',

fattack tinyint(4) NOT NULL default '0',

fdefence tinyint(4) unsigned NOT NULL default '0',

fspeed tinyint(4) unsigned NOT NULL default '0',

foglush tinyint(4) unsigned NOT NULL default '0',

frezh tinyint(4) unsigned NOT NULL default '0',

biy tinyint(1) unsigned NOT NULL default '0',

timeevent int(11) unsigned NOT NULL default '0',

anamy int(10) NOT NULL default '0',

hid11 tinyint(1) NOT NULL default '1',

hid12 tinyint(1) unsigned NOT NULL default '1',

hid2 tinyint(1) NOT NULL default '0',

fdroplife tinyint(4) NOT NULL default '0',

fhistory tinyint(1) unsigned NOT NULL default '0',

fpoints tinyint(4) NOT NULL default '0',

fcom tinyint(1) NOT NULL default '0'

) TYPE=MyISAM;

`

Stats:

  • flife - Health points
  • fstrong - Strength (damage)
  • flike - Dexterity (speed)
  • fattack - Attack rating
  • fdefence - Defense rating
  • fspeed - Initiative/turn order
  • foglush - Stun resistance
  • frezh - Critical hit chance

Combat States (biy field):

  • 0 = No active fight
  • 1 = In fight
  • 2 = Fight finished

Fight History System:

`sql

CREATE TABLE fhistory (

fid int(5) default NULL,

hnom tinyint(3) default NULL,

fhid text

) TYPE=MyISAM;

CREATE TABLE flogsall (

id int(10) unsigned NOT NULL auto_increment,

fid int(6) default NULL,

fstart int(11) default '0',

fend int(11) default '0',

plist text,

winners varchar(140) default NULL,

points varchar(140) default NULL,

manyup smallint(4) default '0',

fstatus tinyint(1) default '0',

PRIMARY KEY (id)

) TYPE=MyISAM;

`

Complete battle replay system with round-by-round history!

Fight Results:

`sql

CREATE TABLE fendput (

uid int(10) default NULL,

fightes smallint(5) default '0',

wins smallint(5) default '0',

looses smallint(5) default '0',

many int(11) default '0',

points tinyint(5) unsigned default '0'

) TYPE=MyISAM;

`

Tracks wins, losses, total fights, money earned, and ranking points.

JavaScript Combat UI:

`javascript

function stap(h,hid,p) {

if (p==1) { // Attack selection

document.stapform.hid1.value = h;

document.all[ahid].src = 'images/transparent.gif';

ahid = hid;

document.all[hid].src = 'images/biyattack2.gif'; // Red highlight

}

if (p==2) { // Defense selection

document.stapform.hid2.value = h;

document.all[dhid].src = 'images/transparent.gif';

dhid = hid;

document.all[hid].src = 'images/biydefence2.gif'; // Blue highlight

}

return 1;

}

`

Visual body part selection with image highlighting!

2. Market System (Рынок) ⭐⭐⭐

File: rynok.php

`php

$tid = intval($_GET['tid']); // Trade ID

$type = intval($_GET['type']); // Item type

`

Marketplace for buying/selling items between players.

3. Hospital (Госпиталь) ⭐⭐⭐

File: hospital.php

Healing system for recovering from combat injuries.

4. Mixtures/Potions (Микстуры) ⭐⭐⭐

File: micstures.php

`php

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

$_POST['micsture'][$i] = intval($_POST['micsture'][$i]);

}

`

Potion/elixir system with 20 different mixture types.

5. Chat System (Арена чат) ⭐⭐⭐⭐

Files: chat.php, csend.php, ctext_iframe.php

Features:

  • Real-time arena chat
  • Private messaging ($_POST['whom'] parameter)
  • Moderator commands (messages starting with \)
  • Ban system integration
  • Time-based message updates

Moderator Ban Commands:

`php

if(isset($_SESSION['moder']) && $_POST['sender'][0]=='\\' &&

$res = myquery('select uid,moder from inform where nick="'.addslashes($_POST['whom']).'"',3)) {

// Ban user for X time

$len = intval($mas[0])60+intval($mas[1])3600+intval($mas[2])*86400;

}

`

Moderators can ban users via chat commands with format: \username HH:MM:DD

6. 5-Minute Timer System ⭐⭐⭐⭐

From readme.txt:

> "Упоминается система 5-минутного таймера"

Purpose: Energy regeneration / action cooldown system

  • Limits actions per time period
  • Prevents spam/abuse
  • Creates tactical timing gameplay
7. User Registration (Регистрация) ⭐⭐⭐

File: registration.php

Standard account creation with username/password.

8. Character Stats (Параметры) ⭐⭐⭐

File: params.php

View and manage character statistics.

9. Leveling System ⭐⭐⭐

File: level.php

Experience-based progression system.

10. Arena Application System ⭐⭐⭐

`sql

CREATE TABLE fapply (

fid int(6) unsigned NOT NULL default '0',

uid int(10) unsigned NOT NULL default '0'

) TYPE=MyISAM;

`

Players apply to join arena fights, creating a matchmaking queue.

11. Admin Panel ⭐⭐⭐

Directory: admin/

Administrative control interface for moderators.

12. Guest Book ⭐⭐

Visitor comments system (common in Russian web 1.0 sites).

---

Database Schema Analysis

Complete Schema: sp.sql (491 lines, 16 tables)

User Management Tables:
  • admin - Admin accounts
  • Default: admin/password (MD5: 5f4dcc3b5aa765d61d8327deb882cf99)
  • Admin level system
  • inform - User accounts
  • nick (username, varchar 16)
  • passw (MD5 hash, varchar 100)
  • uid (user ID)
  • moder (moderator flag)
  • banned - Ban system
  • Time-based bans with expiration (toTime)
  • Ban type (btype: 0-3?)
  • Reason field (default: "Bad conduct")
Combat Tables:
  • fight - Active fights
  • Body stats (life, strong, like, attack, defence, speed)
  • Fight state (biy: 0=none, 1=active, 2=finished)
  • Hit selection (hid11, hid12, hid2)
  • History tracking
  • fhistory - Combat round history
  • Round-by-round data (fhid text field)
  • fhistoryall - Complete fight logs
  • Full battle replays
  • fendput - Fight statistics
  • Wins/losses tracking
  • Money earned
  • Ranking points
  • flogsall - Fight result logs
  • Winners list
  • Points awarded
  • Fight duration (fstart/fend timestamps)
  • fapply - Arena queue
  • Players applying for fights
Arena System Tables:
  • arena - Arena chat/communication
  • Nick, whom (recipient)
  • priv (private message flag)
  • send_text (message content)
  • koly (message count?)
Additional Tables:
  • flogs - Fight logs summary

12-16. Other game systems (items, economy, etc.)

Sample Data in Schema:

`sql

INSERT INTO fendput VALUES (3,2,1,1,10,13);

INSERT INTO fendput VALUES (4,2,1,1,4,10);

`

User 3: 2 fights, 1 win, 1 loss, 10 money, 13 points

User 4: 2 fights, 1 win, 1 loss, 4 money, 10 points

`sql

INSERT INTO flogsall VALUES (1,6,1120119681,1120119864,'3\n4','4','10',3,1);

`

Fight #6 between users 3 and 4, winner: user 4, 10 points awarded.

---

Russian Language Implementation

Character Encoding: windows-1251

`html

`

Russian UI Elements (from code comments):

  • Арена - Arena
  • Бой - Fight
  • Рынок - Market
  • Госпиталь - Hospital
  • Микстуры - Mixtures/Potions
  • Параметры - Parameters/Stats

Community Sites:

  • vpforum.com.ru - VestGrad forum
  • vestgrad.com.ru - Main site (Вестград)

---

Game Design

Strengths

  • Innovative Body Hit System - Unique tactical combat
  • Fight History/Replay - Complete battle logs
  • Consistent Security - addslashes() + intval() throughout
  • GPL License - Open source, community-driven
  • Small Codebase - 5,766 lines is maintainable
  • Complete Database Schema - 491 lines, all tables defined
  • Moderator Tools - Ban system with chat commands
  • 5-Minute Timer - Good pacing mechanism
  • Clean File Structure - Logical organization
  • Russian Localization - Full Cyrillic support

Weaknesses

  • MD5 Passwords - Outdated, should use bcrypt
  • MySQL 4.0 - Ancient database version (2003!)
  • MyISAM Tables - No transactions, crashes can corrupt data
  • addslashes() - Should use prepared statements
  • No CSRF Protection - Forms vulnerable
  • Small Feature Set - Only 74 files vs 200+ in other games
  • windows-1251 - UTF-8 would be better
  • Minimal Documentation - Readme is installation only
  • Default Admin Credentials - Documented in readme!
  • PHP 4 Era Code - Outdated practices

---

Code Quality Assessment

Maintainability: 6/10

  • Small codebase (5,766 lines)
  • Logical file organization
  • Consistent naming conventions
  • Custom function wrappers (myquery)
  • Limited comments
  • No API documentation

Readability: 6/10

  • Clear file names
  • Consistent indentation
  • Russian comments (if you read Cyrillic)
  • Mixed HTML/PHP
  • Global variables

Security Code: 5/10

  • Consistent addslashes() usage
  • intval() for IDs everywhere
  • Session checking
  • htmlspecialchars for XSS prevention
  • MD5 instead of bcrypt
  • No prepared statements
  • No CSRF tokens

---

Installation Process

From readme.txt (Russian):

Requirements:

  • MySQL 4.0+ database
  • PHP 5.x with MySQL support
  • Web server (Apache recommended)

Installation Steps:

  • Create MySQL database
  • Import sp.sql schema
  • Configure includes/connect.php with DB credentials
  • Upload all files to webserver
  • Set permissions on includes/ folder
  • Access index.php
  • Login as admin with default credentials:
  • Username: admin
  • Password: password
  • IMMEDIATELY change admin password!
  • Configure 5-minute timer settings
  • Start arena

---

Performance Considerations

Optimization Level: 5/10

  • Small codebase = fast execution
  • Indexed database (PRIMARY KEYs defined)
  • MyISAM = fast reads (no transaction overhead)
  • No query optimization
  • No caching layer
  • 133 GIF images (should optimize)

Scalability: 4/10

  • Simple architecture = easy to scale initially
  • MyISAM = no row-level locking (concurrency issues)
  • Session-based (not distributed)
  • No load balancing support
  • MySQL 4.0 limitations

---

Historical Context

Russian Browser RPG Scene (2005-2010)

  • Active community on vpforum.com.ru
  • GPL licensing common in Russian open-source scene
  • VestGrad (Вестград) was RPG development community
  • windows-1251 encoding standard for Russian web

Strike Project Lineage:

  • Part of broader Russian RPG development movement
  • GPL license encouraged mods and forks
  • This email address is being protected from spambots. You need JavaScript enabled to view it. was active developer
  • Version 1.0.1 suggests at least one update

Similar Russian Games:

  • Бойцовский Клуб (Fight Club)
  • Гладиатор (Gladiator)
  • Легенда (Legend)
  • Стихия (Element)

All featured turn-based combat with body targeting.

---

Unique Innovations

Body Hit System

The attack zone + defense zone combat mechanic is genuinely innovative:

`

Player A selects:

  • Attack: HEAD
  • Defend: LEGS

Player B selects:

  • Attack: TORSO
  • Defend: HEAD

Resolution:

  • A attacks B's HEAD → BLOCKED (B defending HEAD)
  • B attacks A's TORSO → SUCCESS (A defending LEGS)

`

This creates rock-paper-scissors tactical depth:

  • Predict opponent's defense
  • Feint high, strike low
  • Defend expected attack zones
  • Vary patterns to avoid predictability

Similar to:

  • Fighting games (high/mid/low blocking)
  • Bushido Blade (body targeting)
  • Mount & Blade (directional combat)

---

Deployment Issues

Configuration Required:

  • Database credentials in includes/connect.php
  • Change default admin password!
  • Configure 5-minute timer duration
  • Set up moderator accounts
  • Adjust ban system settings
  • Configure market economy

PHP Compatibility:

  • PHP 4.x/5.x era code
  • May need adjustments for PHP 7.x+:
  • mysql_* → mysqli or PDO
  • register_globals removal
  • Deprecated functions

MySQL Compatibility:

  • MySQL 4.0.23-nt specified in schema
  • MyISAM tables (deprecated, should use InnoDB)
  • Works on modern MySQL but should upgrade

---

Similar Games Comparison

Feature Strike Project Gladiatus Nevergrind
Language Russian German/Multi English
Combat Body targeting Turn-based Real-time
Arena PvP PvP PvP
Replay Full history Logs None
Size 5,766 lines 50,000+ 100,000+
License GPL Commercial Commercial
Innovation ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐

---

Technical Debt

Critical Issues 🔴

  • MD5 Passwords - Upgrade to bcrypt/password_hash()
  • MySQL 4.0 - Upgrade to MySQL 5.7+ with InnoDB
  • MyISAM Tables - Convert to InnoDB for transactions

High Priority 🟠

  • Replace addslashes() with prepared statements
  • Add CSRF token protection
  • Update to PHP 7.4+ compatible code
  • Convert windows-1251 to UTF-8
  • Remove default admin credentials from readme

Medium Priority 🟡

  • Add input validation layer
  • Implement rate limiting
  • Add XSS protection filters
  • Create admin audit logging
  • Optimize 133 GIF images

---

Verdict

Strike Project is a compact, innovative Russian RPG with a genuinely unique combat system. The body-targeting arena combat creates tactical depth rarely seen in browser RPGs. At only 5,766 lines of PHP, it's remarkably feature-complete with fight replays, arena queue, moderator tools, and a 5-minute timer system.

Key Achievements:

Most Innovative Combat - Body hit selection system

Complete Fight Replays - Round-by-round history

GPL License - Open source community project

Consistent Security - addslashes() + intval() throughout

Small & Maintainable - 74 files, clean structure

Full Russian Localization - windows-1251 support

Critical Limitations:

Outdated Stack - MySQL 4.0, MyISAM, PHP 4 era

Weak Passwords - MD5 instead of bcrypt

Small Feature Set - Limited compared to 200+ file games

No Prepared Statements - Uses addslashes() instead

Rating Breakdown:

  • Features: 6/10 (innovative combat, but limited overall)
  • Security: 5/10 (better than most, but MD5 + addslashes)
  • Code Quality: 6/10 (clean, small, maintainable)
  • Innovation: 9/10 (body targeting system is genuinely unique)
  • Completeness: 7/10 (full DB schema, GPL license, working game)

Final Rating: 5/10 ⭐⭐⭐⭐⭐

Recommendation:

GOOD FOUNDATION, NEEDS MODERNIZATION. The body-targeting combat system is genuinely innovative and worth preserving. However, the MySQL 4.0/MyISAM stack and MD5 passwords need urgent upgrades. With a modern security overhaul (bcrypt, prepared statements, InnoDB, CSRF protection), this could be a solid 7/10 game.

Historical Significance:

Represents the Russian open-source browser RPG scene of 2005. The GPL license and VestGrad community connection show genuine collaborative development. The body hit system demonstrates that innovation can come from small projects - at 5,766 lines, Strike Project achieves more tactical depth than many 50,000+ line games.

Perfect For:

  • Studying innovative combat mechanics
  • Learning Russian RPG development practices
  • GPL-licensed base for forking/modding
  • Understanding 2005-era PHP/MySQL architecture
  • Small-scale PvP arena games

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.