# Installation

Welcome to **Koja-Lawnmower**, a fluent job system designed to enhance gameplay for your players. This guide will walk you through the installation process step by step.

***

## 📋 Requirements

Before installing Koja-Lawnmower, ensure you have the following dependencies:

* [**koja-lib**](https://github.com/Koja-Scripts/koja-lib/releases) - Required library that must be started **before** koja-lawnmower
* [**ox-mysql**](https://github.com/communityox/oxmysql/releases) - Database resource

***

## 🚀 Installation

::::steps
### Download and install koja-lib

1. Download [**koja-lib**](https://github.com/Koja-Scripts/koja-lib/releases) from the official repository
2. Place it in your `resources` folder

Add to your `server.cfg`:

```cfg title="server.cfg"
ensure koja-lib
```


:::hint{type="warning"}
koja-lib **must** be started before koja-lawnmower!
:::


### Install Koja-Lawnmower

1. Download the **koja-lawnmower** resource
2. Extract it to your `resources` folder

The folder structure should look like this:

```
resources/
├── koja-lib/
└── koja-lawnmower/
```


### Database setup

You have two options for setting up the database:

#### Option A: Automatic Database Creation (Recommended)

1. Open `shared/config.lua`
2. Ensure this setting is enabled:

```lua title="shared/config.lua"
    AutoCreateTable = true,
    TableName = 'koja-lawnmower',
    StartingValues = {
        level = 1,
        exp = 0,
        history = {
            totalMissions = 0,
            totalEarnings = 0,
            logs = {}
        },
        skillpoints = 0,
        skills = {}
    }
```


The script will automatically create all required tables on first start.

#### Option B: Manual SQL Import

1. Open your database management tool (TablePlus, HeidiSQL, etc.)
2. Import the `koja-lawnmower.sql` file

This will create three tables:

* `TableName` - Stores player progression (level, skills, history, etc)


### Configure server.cfg (order matters)

Add the following to your `server.cfg` in the correct order:

```cfg title="server.cfg"
# Database
ensure oxmysql

# Dependencies
ensure koja-lib

# Crafting System
ensure koja-lawnmower
```


:::hint{type="danger"}
The load order matters! koja-lib must start before koja-lawnmower.
:::
::::

***

## 📚 Additional Resources

* **Documentation**: [https://docs.kojascripts.eu](https://docs.kojascripts.eu/)
* **Discord Support**: <https://discord.gg/kojascripts>
* **GitHub**: Check for updates and report issues

✅ **Installation Complete!** Your job system is now ready to use. Enjoy!

## Related pages

- [Configuration](/jobs/lawnmower/configuration) — Poniżej znajdują się opisane oddzielnie poszczególne tabele z shared/config.lua.
- [Exports](/jobs/lawnmower/exports) — The resource exposes several exports that can be called from other resources on both server and client sides.
- [Commands](/jobs/lawnmower/commands) — All commands are server-side only and require RCON / admin permissions (true as the third argument to RegisterCommand).
- [Lawnmower](/jobs/lawnmower) — back to the section overview
