# 12 — Troubleshooting & Reference

Common problems, production checklist and quick technical references.

# Customer Troubleshooting

# Customer Troubleshooting

## Product is not in My Products

Check that:

- The purchase or grant completed successfully.
- The license is active.
- You are signed into the correct Nord Forge account.

## Resource says server is not registered

Add the server's `sv_licenseKey` in **Forge → Servers**.

Then confirm:

```cfg
setr nord_license "FG-XXXX-XXXX-XXXX-XXXX"
setr nord_keymaster "cfxk_xxxxxxxxxxxxxxxxx"
sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxx"
```

## New server after migration

Register the new `cfxk_` value in Nord Forge before starting protected resources.

Remove the old server if you no longer need it.

## Server limit reached

Remove an old/unused registered server or contact the Forge administrator if the configured platform limit needs to change.

## Product license revoked or suspended

Contact the product workspace/developer. Server registration does not override an inactive product license.


# Developer Troubleshooting

# Developer Troubleshooting

## Product cannot be published

A published release with a file is required.

Create the release first, then publish the product.

## Release cannot be created

Every release upload requires a file.

## Customer has a valid Forge Key but the product fails

Confirm that the product is actually assigned to the customer and that the license status is active.

## Customer gets `product_not_found_for_...`

Confirm that the product slug/resource name used by the protected build matches the product in Forge.

## Tebex payment does not activate

Check:

- Workspace Tebex Bridge is enabled.
- Token/store configuration is correct.
- Webhook secret is correct.
- Webhook endpoint is configured in Tebex.
- Product Tebex Package ID matches.
- The customer can be resolved to the correct Forge account.

## Discord controls are empty

Confirm the global Forge Bot is configured and invited to the workspace's Discord server. Cached channel/role data may still appear when the bot is temporarily offline.


# Production Checklist

# Production Checklist

Use this checklist before releasing Nord Forge publicly.

## Platform

- Change `NORD_FORGE_SECRET`.
- Change `NORD_FORGE_CRYPTO_SECRET`.
- Configure the public HTTPS URL.
- Configure database/storage paths.
- Verify backups.
- Verify reverse proxy and SSL.

## Licensing

- Keep `NORD_FORGE_ALLOW_KEYMASTER_AUTO_BIND=0` if manual server registration is required.
- Confirm `NORD_FORGE_MAX_KEYMASTERS`.
- Test Forge Key validation.
- Test server registration.
- Test server removal.
- Test suspended/revoked product access.

## Products

- Confirm products stay Draft without a release.
- Confirm a release file is required.
- Confirm customer download resolves the latest published release.
- Test protected script build generation.
- Confirm configuration/locales remain editable.

## Payments

- Test free product delivery.
- Test manual purchase/grant flow.
- Test Tebex checkout and webhook activation.

## Integrations

- Test Discord OAuth invite.
- Test update message.
- Test ticket panel.
- Verify Forge remains usable with the bot offline.


# FiveM Integration Quick Reference

# FiveM Integration Quick Reference

## Required customer configuration

```cfg
setr nord_license "FG-XXXX-XXXX-XXXX-XXXX"
setr nord_keymaster "cfxk_xxxxxxxxxxxxxxxxx"
sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxx"
```

## Register the server

Before starting a protected product:

```text
Customer Portal → Servers → Add Server
```

Register the same `cfxk_` Keymaster used by the server.

## Main exports

```lua
exports.nord_forge_license:ValidateProduct(product, callback)
exports.nord_forge_license:CreateSession(product, buildId, callback)
exports.nord_forge_license:IsValidated(product)
exports.nord_forge_license:GetSessionKey(product)
```

## Main API endpoints

```text
POST /api/license/validate
POST /api/license/session
POST /api/license/keymasters
GET  /api/license/keymasters
POST /api/license/keymasters/<id>/remove
```

## Default server cap

```text
3 active Keymasters per Forge Key
```