Release e Supporto

INFO

Distribuire una risorsa professionalmente richiede versioning, changelog e un minimo di supporto. Questa nota chiude il modulo con le best practice.

ObiettivoDettagli
Cosa imparerai• Versionare le release
• Scrivere un changelog
• Gestire il supporto
• Leggere la telemetria (base)
Prerequisiti• Risorsa finita (moduli 10-16)

1. Versioning (Semver)

Usa Semantic Versioning:

MAJOR.MINOR.PATCH
  ^      ^     ^
  |      |     └── bugfix (non rompe nulla)
  |      └── nuova feature (compatibile)
  └── breaking change (rompe compatibilità)
VersioneCambio
1.0.0Prima release stabile
1.1.0Aggiungi feature
1.1.1Fix bug
2.0.0Breaking change (API diverse)

Nel fxmanifest.lua:

version '1.2.0'

2. Changelog

Un file CHANGELOG.md nella risorsa aiuta gli utenti:

# Changelog
 
## [1.2.0] - 2026-01-15
### Added
- Sistema di crafting per munizioni
### Changed
- Prezzi negozio aggiornati
### Fixed
- Bug con inventario pieno
 
## [1.1.1] - 2026-01-01
### Fixed
- Crash quando il giocatore esce

3. Package e Distribuzione

  • Esegui zip della cartella risorsa (senza build/web, senza secrets)
  • Includi README con istruzioni di installazione
  • Includi il changelog
  • Verifica che non ci siano file inutili (.git, node_modules, config con secret)

WARNING

Prima di zippare: cerca file di configurazione con secret (server.cfg, config_server.lua) ed escludili. Vendere un config con la tua license key è un errore comune.


4. Supporto

CanaleUso
DiscordSupporto veloce, community
GitHub IssuesBug tracciati
DocsGuide di installazione

Best practice:

  • Documenta i prerequisiti e le dipendenze
  • Rispondi con log/segnale (non indovinare)
  • Aggiorna il changelog quando fixi un bug segnalato
  • Se vendi, definisci una policy di supporto (es. solo server attivi)

5. Telemetria Base

Per capire se la risorsa funziona sugli altri server, aggiungi log o report opzionali:

-- server.lua
AddEventHandler('onResourceStart', function(resourceName)
    if resourceName ~= GetCurrentResourceName() then return end
    print(('[MYRES] avviata, versione %s'):format(GetResourceMetadata(GetCurrentResourceName(), 'version', 0)))
end)

NOTE

Evita di raccogliere dati non necessari: la privacy degli utenti va rispettata. Raccogli solo metriche utili alla risoluzione di bug, e documenta cosa raccogli.


Checklist Finale Risorsa

  • Versioning semver nel manifest
  • Changelog aggiornato
  • Nessun secret nel package
  • README con installazione
  • Testata su server pulito (senza tue modifiche locali)
  • Licenza dichiarata (modulo 17/04)

Modulo Pubblicazione completato!


Torna alla: Indice Generale