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.
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 ⭐⭐⭐⭐⭐
---
`
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)
`
addslashes() + intval() in some placesFile: includes/connect.php
`php
// No hardcoded credentials found in examined files
// Likely uses standard config file approach
`
---
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
includes/checksession.php included in all protected pagesadmin / password (MD5: 5f4dcc3b5aa765d61d8327deb882cf99)addslashes() in 20+ locationsintval() usage for IDsmyquery() wrapper function`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
---
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:
`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 pointsfstrong - Strength (damage)flike - Dexterity (speed)fattack - Attack ratingfdefence - Defense ratingfspeed - Initiative/turn orderfoglush - Stun resistancefrezh - Critical hit chanceCombat States (biy field):
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!
File: rynok.php
`php
$tid = intval($_GET['tid']); // Trade ID
$type = intval($_GET['type']); // Item type
`
Marketplace for buying/selling items between players.
File: hospital.php
Healing system for recovering from combat injuries.
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.
Files: chat.php, csend.php, ctext_iframe.php
Features:
$_POST['whom'] parameter)\)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
From readme.txt:
> "Упоминается система 5-минутного таймера"
Purpose: Energy regeneration / action cooldown system
File: registration.php
Standard account creation with username/password.
File: params.php
View and manage character statistics.
File: level.php
Experience-based progression 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.
Directory: admin/
Administrative control interface for moderators.
Visitor comments system (common in Russian web 1.0 sites).
---
admin - Admin accountsinform - User accountsbanned - Ban systemfight - Active fightsfhistory - Combat round historyfhistoryall - Complete fight logsfendput - Fight statisticsflogsall - Fight result logsfapply - Arena queuearena - Arena chat/communicationflogs - Fight logs summary12-16. Other game systems (items, economy, etc.)
`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.
---
`html
`
---
---
---
Requirements:
Installation Steps:
sp.sql schemaincludes/connect.php with DB credentialsadminpassword---
---
All featured turn-based combat with body targeting.
---
The attack zone + defense zone combat mechanic is genuinely innovative:
`
Player A selects:
Player B selects:
Resolution:
`
This creates rock-paper-scissors tactical depth:
Similar to:
---
includes/connect.php---
| 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 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
---
---
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.
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
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
Final Rating: 5/10 ⭐⭐⭐⭐⭐
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.
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.
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.