Discover strategies, tips, and tricks to dominate tactical FPS games. Built by players, for the community, Stratbook is an open-source project designed to help gamers improve and share their knowledge.
This project is quite new and is still improving on many fronts, we do not have Guides or how-to's about how to help besides the files that are inside this project. We are always happy with any help or contributions done by you! Doesn't matter if it is adding new strategies to the 'database' or helping build features. At this moment we do not have a board or wiki yet, but we do want to add it in the future.
- Comprehensive Strategy 'Database': Explore a wide range of strategies with detailed explanations, skill levels, and more.
- Community Contributions: Submit your own strategies or improve existing ones.
- Open Source Development: Collaborate with developers to add features and enhance the platform.
To set up the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/The-Stratbook/stratbook.git
- Navigate to the project directory:
cd stratbook - Install dependencies:
npm install
- Start the development server:
npm start
- Open your browser and navigate to http://localhost:3000.
- Explore Strategies: Browse, search, and filter strategies tailored to different maps, operators, and playstyles.
- Contribute: Add new strategies or improve existing ones by following the guidelines in the Contributing section.
We welcome all contributions, whether you're adding new strategies, fixing bugs, or building new features. Here's how you can contribute:
- Fork this repository.
- Create a new branch for your changes:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m "Add a brief description of your changes" - Push your branch:
git push origin feature/your-feature-name
- Open a pull request.
For more details, check out our Contributing Guidelines.
We welcome community contributions to our strategy database! Check out the Contributing Strategy section for details on how to submit your strategies.
This project is licensed under the MIT License. Feel free to use, modify, and distribute this software in compliance with the license terms.
A huge thank you to the community for their support and contributions. Special thanks to vanhoutenbos for spearheading the project.
Have questions or suggestions? Reach out to us:
We welcome community contributions to our strategy database! Below you'll find detailed information about the structure for submitting a new strategy.
foccused on feature-based organization and atomic design principles.
src/ ├── assets/ # Static assets (icons, images) ├── components/ # Shared reusable components (atomic design) │ ├── atoms/ # Basic UI elements (buttons, inputs, etc.) │ ├── molecules/ # Simple combinations of atoms │ └── organisms/ # Complex UI components ├── features/ # Feature-specific code │ ├── maps/ │ │ ├── components/ # Components specific to this feature │ │ ├── hooks/ # Feature-specific hooks │ │ ├── pages/ # Pages for this feature │ │ └── utils/ # Feature-specific utilities │ ├── operators/ │ │ └── ... │ ├── tips/ │ │ └── ... │ └── ... ├── layouts/ # Page layout templates ├── hooks/ # Shared custom hooks ├── pages/ # Top-level pages that don't belong to a specific feature (About, Home, etc.) # Feature-specific pages should go in their respective feature folder ├── services/ # API services and data fetching ├── styles/ # Global styles and theme └── utils/ # Shared utility functions
| Field | Type | Description |
|---|---|---|
id |
Number | A unique identifier for the strategy. Leave as 0 for new submissions, and we'll assign a final ID. |
title |
String | A concise, descriptive title for your strategy. |
description |
String | A detailed explanation of the strategy. Supports markdown formatting for better readability. |
side |
String | Which team the strategy is for. Must be one of: "Attacker", "Defender", or "Both". |
skill |
String | The skill level required to execute the strategy. Must be one of: "Beginner", "Intermediate", or "Expert". |
tags |
Array | Categories that describe your strategy (e.g., "Vertical Play", "Entry", "Support", "Plant Denial"). |
relatedStrategies |
Array | IDs of other strategies that complement or are similar to this one. Can be empty array [] for new submissions. |
contributor |
Object | Information about who submitted the strategy. At minimum, include your name. |
| Field | Type | Description |
|---|---|---|
operator |
String | The primary operator this strategy is designed for. Leave empty if the strategy works with multiple operators. |
map |
String | The map this strategy is specific to. Leave empty if the strategy works across multiple maps. |
bombSite |
String | The specific bomb site(s) this strategy targets (e.g., "Kitchen/Service", "Basement"). |
imageUrl |
String | URL to an image that helps visualize the strategy (e.g., lineup positions, setup spots). |
videoUrl |
String | URL to a YouTube video demonstrating the strategy. |
videoTimestamps |
Array | Specific timestamps in the video with descriptions of what's happening at those points. |
lastTested |
String | Date when this strategy was last confirmed to work in-game (YYYY-MM-DD format). |
detailedNotes |
Object | Additional details about the strategy including team coordination required, risk level, counter strategies, alternative operators, etc. |
FAQ |
Array | Common questions and answers about the strategy, helpful for clarifying execution details. |
The detailedNotes object can contain the following properties:
| Property | Type | Description |
|---|---|---|
teamCoordination |
String | Level of team coordination required: "Low", "Medium", or "High". |
riskLevel |
String | How risky the strategy is to execute: "Low", "Medium", or "High". |
timeRequired |
String | How long it takes to set up and execute the strategy. |
counterStrategies |
Array | Common defensive tactics that can counter this strategy. |
alternativeOperators |
Array | Other operators that can be used if the primary operator is unavailable. |
extraTips |
Array | Additional tips and tricks for making the strategy more effective. |
The contributor object can contain the following properties:
| Property | Type | Description |
|---|---|---|
name |
String | Your name or username (required). |
discord_username |
String | Your Discord username (optional). |
twitter |
String | Your Twitter/X handle (optional). |
youtube |
String | Your YouTube channel URL (optional). |
We've provided two example templates to help you understand the structure:
- Minimal Example - Contains only the required fields
- Complete Example - Demonstrates all possible fields with detailed content
To submit a new strategy:
- Fork this repository
- Create your strategy JSON file in the
public/data/<game>/tipsdirectory - The filename should be structured (e.g.,
<id>.json) for example1.json - Submit a pull request with your new strategy
- Our team will review the submission and provide feedback if needed
Thank you for contributing to the Stratbook community!
Do you want to contribute but in another way than mentioned above? Feel free to contact Jean-Paul through github or through discord