> For the complete documentation index, see [llms.txt](https://docs.menanak47.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.menanak47.com/multi-framework/ak47_drugmanagerv3/validate/server.md).

# Server

Synchronous server-side decision functions located in \`custom/server/validate.lua\`.   Return \`true\` to allow the action on the server or \`false\` to reject/block it.

#### `CanSellNPCServer`

Validates before awarding money and removing drugs during NPC drug sales.

**Signature**

```lua
CanSellNPCServer(source, zoneData, item, amount, price, currency) -> boolean
```

**Example**

```lua
CanSellNPCServer = function(source, zoneData, item, amount, price, currency)
    return true
end
```

***

#### `CanSellDealerServer`

Validates when a player sells items to a dealer.

**Signature**

```lua
CanSellDealerServer(source, shopData, item, amount, price, currency) -> boolean
```

**Example**

```lua
CanSellDealerServer = function(source, shopData, item, amount, price, currency)
    return true
end
```

***

#### `CanBuyDealerServer`

Validates when a player purchases items from a dealer.

**Signature**

```lua
CanBuyDealerServer(source, shopData, item, amount, price, currency) -> boolean
```

**Example**

```lua
CanBuyDealerServer = function(source, shopData, item, amount, price, currency)
    return true
end
```

***

#### `CanStockCornerboyServer`

Validates when a player deposits drugs into a cornerboy.

**Signature**

```lua
CanStockCornerboyServer(source, cornerboyData, item, amount) -> boolean
```

**Example**

```lua
CanStockCornerboyServer = function(source, cornerboyData, item, amount)
    return true
end
```

***

#### `CanHarvestFieldServer`

Validates when a player requests to start harvesting a plant in a drug field.

**Signature**

```lua
CanHarvestFieldServer(source, fieldData, plantId) -> boolean
```

**Example**

```lua
CanHarvestFieldServer = function(source, fieldData, plantId)
    return true
end
```

***

#### `CanCollectServer`

Validates when a player claims an item from a collection zone.

**Signature**

```lua
CanCollectServer(source, collectData) -> boolean
```

***

#### `CanProcessServer`

Validates when a player processes materials in a lab zone.

**Signature**

```lua
CanProcessServer(source, processData) -> boolean
```

***

#### `CanHandcraftServer`

Validates when a player finishes handcrafting an item.

**Signature**

```lua
CanHandcraftServer(source, craftData) -> boolean
```

***

#### `CanUseDrugServer`

Validates before a drug is consumed and its effects/items are applied on the server.

**Signature**

```lua
CanUseDrugServer(source, item, drugData) -> boolean
```
