More work!!!

This commit is contained in:
Starystars67
2026-06-27 00:49:53 +01:00
parent 97a7aaf643
commit c115bc9a42
302 changed files with 28263 additions and 10 deletions
@@ -0,0 +1,43 @@
::: warning "Questo sito è ancora in costruzione"
Questo sito è in fase di lavorazione.
Pensi di poter aiutare? Puoi farlo cliccando sulla pagina con la matita in alto a destra!
Puoi contribuire a qualsiasi pagina.
# Riferimento per lo scripting lato client
BeamMP ti permette di creare i tuoi personali plugin da eseguire lato client. Abbiamo creato delle funzioni che ti permettono di comunicare con altre mod legate al multiplayer e ad altri giocatori tramite il server.
# Funzioni
Lista di funzioni disponibili per gli script:
| Funzione | Note |
|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `TriggerServerEvent("eventName", "data")` | Scatena un evento nel contesto Lua lato server, entrambi i parametri sono stringhe. |
| `TriggerClientEvent("eventName", "data")` | Scatena un evento nel contesto Lua lato client, entrambi i parametri sono stringhe. Buono da usare per la comunicazione tra plugin diversi. |
| `AddEventHandler("eventName", Function)` | Aggiunge il secondo parametro alla tabella che viene invocata quando viene ricevuto `eventName` (sia localmente sia dal server), `Function` riceverà un (1) parametro, una stringa contenente i dati dell'evento. |
# Esempi di codice
Per esempio si può analizzare la chat usando il suo evento evento `ChatMessageIncluded`:
```lua
local function chatReceived(msg) -- Receive event with parameters
print("chat received: "..msg)
local i = string.find(s, ":") -- Find where our first ':' is, used to separate the sender and message
if i == nil then
print("error parsing message: separator could not be found!")
return -- Could not find separator, cancel function
end
print("index of separator: "..tostring(i))
local sender = string.sub(msg, 1, i-1) -- Substring our input to separate its 2 parts
local message = string.sub(msg, i+1, -1) -- Do whatever you want to with the message
print("sender: " .. sender)
print("message: ".. message)
end
AddEventHandler("ChatMessageReceived", chatReceived) -- Add our event handler to the list managed by BeamMP
```
@@ -0,0 +1,43 @@
::: warning "Questo sito è ancora in costruzione"
Questo sito è in fase di lavorazione.
Pensi di poter aiutare? Puoi farlo cliccando sulla pagina con la matita in alto a destra!
Puoi contribuire a qualsiasi pagina.
# Riferimento per lo scripting lato client
BeamMP ti permette di creare i tuoi personali plugin da eseguire lato client. Abbiamo creato delle funzioni che ti permettono di comunicare con altre mod legate al multiplayer e ad altri giocatori tramite il server.
# Funzioni
Lista di funzioni disponibili per gli script:
| Funzione | Note |
|-------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `TriggerServerEvent("eventName", "data")` | Scatena un evento nel contesto Lua lato server, entrambi i parametri sono stringhe. |
| `TriggerClientEvent("eventName", "data")` | Scatena un evento nel contesto Lua lato client, entrambi i parametri sono stringhe. Buono da usare per la comunicazione tra plugin diversi. |
| `AddEventHandler("eventName", Function)` | Aggiunge il secondo parametro alla tabella che viene invocata quando viene ricevuto `eventName` (sia localmente sia dal server), `Function` riceverà un (1) parametro, una stringa contenente i dati dell'evento. |
# Esempi di codice
Per esempio si può analizzare la chat usando il suo evento evento `ChatMessageIncluded`:
```lua
local function chatReceived(msg) -- Receive event with parameters
print("chat received: "..msg)
local i = string.find(s, ":") -- Find where our first ':' is, used to separate the sender and message
if i == nil then
print("error parsing message: separator could not be found!")
return -- Could not find separator, cancel function
end
print("index of separator: "..tostring(i))
local sender = string.sub(msg, 1, i-1) -- Substring our input to separate its 2 parts
local message = string.sub(msg, i+1, -1) -- Do whatever you want to with the message
print("sender: " .. sender)
print("message: ".. message)
end
AddEventHandler("ChatMessageReceived", chatReceived) -- Add our event handler to the list managed by BeamMP
```
@@ -0,0 +1,54 @@
---
layout: home
hero:
name: Documentazione BeamMP
text: Tutto quello che devi sapere
tagline: Guide complete per giocatori, proprietari di server e sviluppatori
image:
src: /assets/core/beammp_dark.png
alt: BeamMP
actions:
- theme: brand
text: Inizia
link: /it/game/getting-started
- theme: alt
text: Visualizza su GitHub
link: https://github.com/beammp/docs
features:
- icon: 🎮
title: Per i Giocatori
details: Scopri come installare BeamMP, connettersi ai server e ottenere il massimo dalla tua esperienza multiplayer
link: /it/game/getting-started
- icon: 🖥️
title: Per i Proprietari di Server
details: Configura e gestisci il tuo server BeamMP con le nostre guide complete e risorse di risoluzione dei problemi
link: /it/server/create-a-server
- icon: 💻
title: Per gli Sviluppatori
details: Crea mod, risorse e app UI con documentazione API dettagliata ed esempi di codice
link: /it/guides/index
- icon: ❓
title: Domande Frequenti
details: Trova risposte rapide alle domande più frequenti su configurazione, risoluzione dei problemi e best practice
link: /it/FAQ/player-faq
- icon: 📋
title: Regole della Comunità
details: Scopri le nostre linee guida sulla comunità e come segnalare problemi o contestare decisioni
link: /it/community/rules
- icon: 🔗
title: Comunità
details: Unisciti al nostro Discord, seguici sui social media e connettiti con altri giocatori e sviluppatori BeamMP
link: /it/community/index
---
## Per i Proprietari di Server
Stai pensando di creare il tuo server BeamMP? La nostra guida completa [qui](../server/create-a-server.md) ti accompagnerà nel processo, assicurandoti di avere tutti gli strumenti e le conoscenze necessarie per configurare il tuo server in modo efficiente.
## Per gli Sviluppatori
Esplora tutti i dettagli sulla creazione di risorse per il server BeamMP nella nostra [Guida allo Sviluppo delle Risorse](../guides/mod-creation/server/getting-started.md).
Stiamo lavorando a entusiasmanti aggiornamenti, tra cui una nuova homepage progettata per migliorare la tua esperienza di navigazione. Resta sintonizzato per ulteriori novità! :slight_smile:
@@ -0,0 +1,85 @@
::: warning "Questo sito è in costruzione!"
Questo sito è attualmente in fase di lavorazione.
Pensate di poter aiutare? Per favore, fatelo cliccando sulla pagina con una matita a destra!
Questo può essere fatto anche su qualsiasi altra pagina.
# Per iniziare
Per iniziare a sviluppare per BeamMP avrai bisogno di almeno queste cose:
- BeamNG.drive, installato in locale
- BeamMP, installato in locale; come minimo il launcher, anche il server se necessario
- Git, installato in locale, e un account di GitHub.com
- Un editor di codice, come VSCode o notepad++
---
# Differenze tra mod, launcher e server
BeamMP è diviso in tre componenti principali:
- La mod è caricata da BeamNG, come qualsiasi altra mod per il gioco. La sua funzione principale è quella di stabilire una connessione in locale con il launcher e mostrare gli elementi di interfaccia utente per il multiplayer. È scritta principalmente in Lua, con parti in JavaScript, HTML e CSS per gli elementi di UI. Il suo repo è [https://github.com/BeamMP/BeamMP](https://github.com/BeamMP/BeamMP)
- Il launcher stabilisce una connessione costante alla mod, quando necessario apre una connessione al server selezionato in gioco, infine si occupa del login del giocatore tramite il backend di BeamMP. È scritto principalmente in C++, viene precompilato da BeamMP e il suo repo è [https://github.com/BeamMP/BeamMP-Launcher](https://github.com/BeamMP/BeamMP-Launcher)
- Il server stabilisce una connessione tra uno o più launcher, inoltre manda "heartbeat" al backend di BeamMP contenenti diverse informazioni tra cui l'IP, la porta, la versione, il numero di giocatori, ecc. Gestisce ed esegue plugin Lua lato server. È scritto in C++, viene precompilato da BeamMP per diversi sistemi operativi e architetture CPU, il suo repo è [https://github.com/BeamMP/BeamMP-Server](https://github.com/BeamMP/BeamMP-Server)
---
# Creare un ambiente di sviluppo per lavorare sulla mod
## Usare una cartella unpacked per BeamNG
Per lavorare in modo efficiente alle mod in BeamNG è molto consigliato usare una cartella `unpacked`, invece di ricreare zip dopo ogni cambiamento.
Apri la cartella utente di BeamNG navigando a `%appdata%/Local/BeamNG.drive/0.xx/mods` dove `xx` è l'ultima versione di BeamNG.
Crea una cartella chiamata `unpacked` all'interno della cartella `mods`.
Altre informazioni riguardo la cartella utente si possono qui [https://documentation.beamng.com/support/userfolder/](https://documentation.beamng.com/support/userfolder/)
## Abilitare la modalità sviluppatore per il launcher BeamMP
Per evitare che gli aggiornamenti automatici cancellino la tua git clone locale, bisogna disabilitarli usando `--no-download`.
Se non vuoi che il launcher apra BeamNG e vuoi vedere stampe di debug, è consigliato usare `--dev`.
| Parametri | Note |
|:--------------------------------------|:-------------------------------------------|
| `--help` o `-h` | Stampa a video questa lista di parametri |
| `--port <port>` o `-p` | Cambia la porta di ascolto da quella di default a `<port>`. Deve essere configurata anche in gioco |
| `--verbose` o `-v` | Modalità verbosa, stampa messaggi di debug |
| `--no-download` | Salta il download e l'installazione della mod Lua di BeamMP |
| `--no-update` | Salta l'aggiornamento automatico del launcher (bisognerà aggiornare manualmente) |
| `--no-launch` | Salta l'avvio automatico del gioco (bisognerà avviare il gioco manualmente) |
| `--dev` | Modalità sviluppatore, equivalente a --verbose --no-download --no-launch --no-update |
| `--game <args...>` o `-- <args...>` | Passa dei parametri al gioco |
## Clonare il repo di BeamMP nella cartella unpacked
Nonostante si possa copiare manualmente i file di BeamMP dal nostro repo di Github, è consigliato usare un sistema di source-control come git.
Per prima cosa crea una fork di [https://github.com/BeamMP/BeamMP](https://github.com/BeamMP/BeamMP)
La cosa più efficiente sarebbe quella di clonare il repo direttamente nella cartella `unpacked`.
Per `git`, lanciare `git clone https://github.com/yourName/BeamMP` da una finestra PowerShell o CMD, avviata nella cartella `unpacked`.
Controlla che nella cartella utente di BeamNG non ci sia alcuna cartella `multiplayer` in `mods` e che invece ci sia `unpacked/beammp`.
Ora puoi provare la modalità sviluppatore. Avvia il launcher BeamMP, avvia BeamNG manualmente, controlla che BeamMP sia l'unica mod attiva.
Dovresti riuscire a giocare normalmente.
Usando un editor di codice, puoi aggiungere o cambiare codice direttamente dalla cartella `unpacked`.
In seguito alle modifiche ricarica Lua in gioco premendo `Ctrl+L` (e `F5` se hai effettuato modifiche all'interfaccia utente).
Quando sei soddisfatto delle modifiche, puoi effettuare una commit tramite git. Guarda [il sito Git-SCM](https://git-scm.com/doc) per guide e documentazione sull'utilizzo di Git. Non appena hai effettuato commit e push (al tuo repo), puoi aprire una pull-request.
Chiedi pure nel canale #scripting nel nostro [Discord](https://discord.gg/beammp) se hai dei problemi.
---
# Creare un server in locale
Mentre si lavora su BeamMP può essere d'aiuto l'utilizzo di un server in locale. Puoi seguire la [guida di installazione del server](../../server/create-a-server.md) saltando i primi due passi per quanto riguarda le connessioni locali.
Imposta il server come privato in `serverConfig.toml` e puoi usare una qualunque stringa come `AuthKey`.
---
# Linee guida per contribuire
Per i dettagli riguardo la formattazione del codice, formato dei messaggi di commit, migliori pratiche per lo sviluppo, ecc. leggere il file `CONTRIBUTING.md` presente in ogni repo. Questo file contiene informazioni dettagliate su come contribuire. Il file `README.md` in ogni repo, di solito contiene anche dei passi per compilare il codice (per i progetti precompilati).
+18
View File
@@ -0,0 +1,18 @@
---
title: Guides
description: This set of pages provides some basic guides for BeamMP
status: new
---
::: warning "Questo sito è ancora in costruzione"
Questo sito è in fase di lavorazione.
Pensi di poter aiutare? Puoi farlo cliccando sulla pagina con la matita in alto a destra!
Puoi contribuire a qualsiasi pagina.
# Guide sullo sviluppo per BeamMP
Questa pagina sarà l'introduzione per la creazione di contenuti sia lato server sia lato client.
Questa pagina deve ancora essere completata.
@@ -0,0 +1,10 @@
::: warning "Questo sito è in costruzione!"
Questo sito è attualmente in fase di lavorazione.
Pensate di poter aiutare? Per favore, fatelo cliccando sulla pagina con una matita a destra!
Questo può essere fatto anche su qualsiasi altra pagina.
# Per iniziare
Questa pagina ti aiuterà a creare mod per BeamMP lato server.