Server
Come tutti i giochi multiplayer basati sul motore Source di Valve, Team Fortress 2 usa un sistema client/server. Il client è la copia del programma in esecuzione sul computer del giocatore, mentre il server è il software che connette i giocatori fra loro. Attualmente esistono diverse migliaia di server per TF2 in opera in tutto il mondo.
Un server è responsabile di molti aspetti dell'esperienza di gioco in TF2. Risponde alle azioni dei giocatori aggiornando le loro rispettive posizioni e condizioni, ad esempio quando si sta sparando con un'arma, prima di determinare una sua risposta appropriata, ad esempio creando il danno al bersaglio dell'arma sopra citata, e quindi diffondendo i risultati ottenuti a tutti i giocatori, ad esempio mostrando il punteggio dei danni inflitti al bersaglio. Il server amministra inoltre parametri non controllabili dai singoli utenti, quali il tempo dello scenario, il comportamento delle torrette, ecc.
Indice
Funzioni extra
Invece di connettersi a un server esistente i giocatori possono optare per la creazione di propri server all'interno del gioco. Questo permette all'utente-host di impostare la rotazione delle mappe, determinando quali particolari scenari e modalità di gioco imbastire. In aggiunta si possono cambiare le configurazioni native, come la forza di gravità, i limiti di slot disponibili per ciascuna classe, restrizioni di tipo Highlander e così via. Modifiche personalizzate possono essere infine installate sul server per fornire esperienze di gioco alternative.
Tipologie
Ci sono due tipi di server che possono essere messi in opera grazie al motore Source
Server di ascolto/locale
Un server di ascolto è un server minimale che gira nell'ambito di un client TF2 di un giocatore. Può essere facilmente realizzato attraverso la selezione del pulsante Crea server del menu principale. Altri utenti vi si possono connettere, ma l'overhead (vale a dire il volume di dati in entrata e uscita superiore richiesto da questa condizione) di esecuzione del programma sullo stesso sistema molto spesso solleciterà l'hardware del computer del giocatore ospitante. Questa tipologia di server è la più adatta per eventi con connessioni effettuate tramite LAN.
Server dedicato
Un server dedicato è un apparato a sé stante che non necessita di Steam per girare. Essi sono preferiti a quelli d'ascolto a causa, tra gli altri fattori, di un ridotto overhead. Inoltre molti di questi server possiedono hardware all'avanguardia e sono operativi presso centri di elaborazione dati, fornendo elevate prestazioni e connessioni veloci e affidabili ai giocatori, raramente riscontrabili in ambito domestico.
Requisiti di sistema
Mentre i fornitori di server di gioco (in inglese Game Server Providers, abbr. GSP) utilizzano hardware dedicato tecnologicamente avanzato per i propri apparati, ognuno può creare un server usando un computer che abbia:
Server di ascolto
- Mac OS X 10.5.8 o 10.6.3 o superiore che soddisfi i requisiti del gioco.
- Windows XP o superiore che soddisfi i requisiti del gioco.
Server dedicato
- Linux 32 o 64bit con installato GNU C Library 2.3.2 o superiore.
- FreeBSD 32 o 64bit con installato il codice di compatibilità Linux nel kernel e un sistema Linux recente dalla collezione delle porte.
- Windows 2000 o superiore.
Cronologia degli aggiornamenti
- Rilascio della beta del server dedicato Linux
- L'affinità del thread principlale non è impostata esplicitamente per i server dedicato. Questo caricherà istanze multiple bilanciate sui server dedicati in attività su macchine multi processore. L'affinità è ancora impostata su CPU 1 per i client e i server d'ascolto.
- Rimosso
mp_friendlyfire cvar
per i server. Team Fortress 2 va in crash numerose volte se questo valore è presente.
- Risolto raro crash del server dovuto alla corruzione di dati.
- Risolto crash del server relativo ai Sabotatori delle Spie.
- Opzioni extra aggiunte alla scheda Gioco nella finestra Crea server accessibile dal menu principale.
- Migliorata l'inizializzazione di rete all'avvio per risolvere i problemi con i messaggi dei firewall del server che rimangono in background.
- Risolti problemi in Dustbowl e Hydro che potrebbero manifestarsi quando un server si svuota nel corso di una partita.
- Risolti problemi al server honeypot.
- Aggiunto
sv_pure
al server, attualmente impostato di default su "Off". Digitasv_pure
nella console per ottenere la descrizione completa. - Aggiunte le voci di log Round_Start, Round_Setup_Begin, Round_Setup_End, Round_Overtime, Round_SuddenDeath, Round_Stalemate, Round_Win, Round_Length, Mini_Round_Selected, Mini_Round_Start, Mini_Round_Win, e Mini_Round_Length.
- Le voci di log Round_Win e i cambi di livello forniranno maggiori infrormazioni sui punteggi delle squadre e della conta dei giocatori.
- Aggiornate le voci di log per la modalità Cattura la bandiera per specificare il numero di catture e il valore
tf_flag_caps_per_round
. - Server dedicato Windows: in caso di modalità
-console
, all'avvio il programma mette la sua finestra in primo piano anziché sull sfondo. - Server dedicato Windows: risolto bug in modalità
-console
che rendeva lento e noioso digitare qualunque cosa. - Risolto l'errore di aggiornamento del nome del trentaduesimo giocatore sul server.
- La modalità Morte improvvisa è ora un'opzione del server, impostata di default su OFF.
- Risolto un comando rcon/console che poteva causare chiusure forzate del server.
- Risolto un raro crash che poteva avvenire quando un giocatore che veniva guarito si disconnetteva improvvisamente.
- Aggiunta la possibilità per i server di avere file .cfg di mappa specifici nella cartella omonima.
- Aggiunti dati di stato di giocatore al logging del server: (player_death, player_builtobject, teamplay_flag_event, object_destroyed, teamplay_point_captured, teamplay_capture_blocked).
- Aggiunta variabile
nextlevel
. Se impostato con un valido nome di mappa, il server migrerà su tale scenario al prossimo cambio di livello.
- Aggiunta voce di log per le costruzioni distrutte dal proprietario.
- I server di gioco ora proveranno 32 porte sequenziali per avviarsi se queste originano dalla stessa macchina, precedentemente si fermava a dieci.
- Risolto crash del server con
mp_forcecamera
impostato su 1 (riportato al comportamento pre-rilascio).
- I server possono ora specificare metatags che descrivono le regole personalizzate che adottano.
- Aggiunte opzioni per i server che vogliono giocare partite personalizzate: disattivazione dei colpi critici (
tf_weapon_criticals
), rimozione dei tempi di rientro in gioco (mp_disable_respawn_times
) e alzare i giocatori massimi ad oltre 24. - Realizzati diversi miglioramenti al sistema statistico dei server.
- Risolto la scorretta impostazione del valore dei giocatori massimi usando il parametro da linea di comando
-maxplayers
.
- Rimosso
sv_alltalk
dalla liste dei convar che può intaccare tag personalizzati dei server. - Implementati server con un massimo di giocatori minore o uguale a 24 che eseguono SourceTV con il parametro
increased_maxplayers
- Risolti problemi di caricamento mappa su server dedicati Linux equipaggiati con certi tipi di processori Athlon.
- Risolta su server Linux la non corretta gestione dei parametri
FCVAR_REPLICATED
eFCVAR_NOTIFY
- Risolto un incoveniente per il quale un server poteva mandare codice esecutivo a un client
- Aggiunto parametro
mp_stalemate_at_timelimit
per l'amministratore del server per permettere la Morte improvvisa su mappe non Valve allo scadere del tempo di partita.
- Risolto probelma che non garantiva il caricamento delle statistiche di gioco sul alcuni server dedicati.
- Risolto crash al cambio mappa su server dedicati Linux.
- Risolta la facoltà dei server di lanciare
sv_soundscape_printdebuginfo
- Risolta potenziale "catastrofe" nel sottosistema rcon.
- Risolto il crash server causato dal comando
_resetgamestats
- Migliorata la logica di connessione per aiutare i server che non sono automaticamente riconnessi a Steam.
- Risolta l'azione di
setinfo
che permetteva l'adozione di convar restrittive durante la connessione a un server. - Risolto il parametro
sensitivity
che non superava il valore superiore e talvolta causava un crash del server.
- Aggiunto il controllo della versione client/server alla connessione del primo.
- Fissato un caso dove i server potevano bloccarsi senza soluzione di continuità mentre facevano accedere bot.
- Migliorato il messaggio di errore di mancata corrispondenza di verisone ricevuto mentre ci si connetteva a un server equipaggiato con una versione diversa rispetto a quella del client.
- Risolto un crash del server causato da pacchetti di rete corrotti.
Patch del 24 febbraio 2011 (Aggiornamento Pacchetto Mappe della Comunità)
- Risolto un ulteriore crash del server causato da pacchetti di rete corrotti.
- [Non documentato] Riparati gli scambi mostranti solo uno degli oggetti proposti sul server.
Patch del 10 marzo 2011 (Shogun Pack)
- Aggiunto un controllo per prevenire la trasmissione del numero massimo di giocatori pari a uno per connettere i client
- Fixed clients being able to use particle exploits on sv_pure servers.
- Riparato un crash del server dovuto all'uso dello Spadaccino mancato per colpire giocatori disarmati.
- Risolto un crash del server causato dall'avvio di una votazione per il successivo livello.
- Risolto un crash del server che poteva avvenire quando i bot venivano utilizzati durante i cambi di mappa.
- Il sistema di pubblicazione dei replay proverà a fare una rinomina per il modo HTTP locale, ma copierà manualmente e cancellerà il file se la rinomina fallisce. Questo può accadere se la fonte e la destinazione sono su supporti di archiviazione differenti.
- Risolti i problemi di thread su Linux che causavano i principali picchi di lag.
- Riparato il sistema di pulizia dei dati di replay, ora pulisce i dati vetusti alla fine di ogni round. Questa operazione asincrona può essere espressamente invocata eseguendo sul server il comando
replay_docleanup
.
- Replay
- Risolta la chiusura del sever durante la cancellazione dei dati.
- Riparato il crash del server causato da uno schema di elementi non corrispondenti tra loro.
- Risolti alcuni crash di server causati dal sistema dei replay.
- Risolto un crash del server provocati dal sistema delle votazioni.
- Risolti alcuni crash di server causati dal sistema dei replay.
- Riparato il crash del server causato da Spie travestite.
- Risolto un crash al server dovuto alla digitazione in console durante l'avvio.
- Risolto un crash del server innescato durante un'operazione di pulizia.
- Aggiunto un messaggio di console quando un giocatore viene indirizzato su un server tramite il sistema degli inviti.
- Fixed a damage calculation in the Mantreads on Linux server, which could cause a physics crash
- Risolto un crash del server causato da angoli di visuale del giocatore non corretti.
- Risolto un frequente crash del server relativo ai packfile.
2^ patch del 18 ottobre 2011
- Risolto un errore di server sui modelli non pre-memorizzati.
- Impostati messaggi più chiari sui server quando i giocatori si disconnettono a causa della mancata autenticazione su Steam.
- I messaggi importanti addizionali di server vengono registrati sul log invece di apparire solo in console.
- Risolto un crash del server causato da colpi critici a oggetti fisici con il Pugno festivo.
- Risolta la mancata ricezione di richieste di riavvio quando vengono rilasciati gli aggiornamenti.
- Riparato il non corretto funzionamento di
+randommap
all'avvio del server. - Risolta la "logorrea" di messaggi di console relativa al client di replay e delle visuali.
- Risolto un crash del client che poteva capitare quando un server usava il parametro
SetCustomModel
per cambiare la figura del giocatore.
- Risolto un baco che qualche volta preveniva il server dal riconnettersi al database degli oggetti dopo la disconnessione.
- Aggiunto comando di server
changelevel_next
che imposta la prossima mappa del ciclo.
Patch del 27 giugno 2012 (Aggiornamento Pyromania)
- Aggiunti i parametri
sv_rcon_maxpacketsize
esv_rcon_maxpacketbans
per permettere agli amministratori di server il numero massimo di pacchetti RCON e se bannare oppure no gli utenti eccedenti il limite. I valori di default riflettono il comportamento standard. - Fixed map triggered annotation events not working on dedicated servers
- Votes created by a dedicated server no longer trigger a failed vote cooldown
- L'utilizzo di un'Etichetta Nome durante il gioco notifica a tutti il cambio di denominazione.
- [Non documentato] I server non richiedono più il riavvio nel periodo di Luna Piena per consentire a tutti i giocatori di utilizzare gli oggetti di Halloween.
- Risolto un problema che consentiva a indirizzi IP truffaldini di connettersi al server di gioco.
- Risolto un crash di client/server durante la riconnessione al server degli oggetti.
Patch 1
- Aggiunto il parametro
sv_namechange_cooldown_seconds
per impedire ai giocatori di cambiare il nickname troppe volte (di default sono venti secondi). - Aggiunto il parametro
sv_netspike_on_reliable_snapshot_overflow
per abilitare selettivamente lo scaricamento automatico del file netspike se un client si scollega a causa di un reliable snapshot overflow (il valore di default è 0, disabilitato anche il debugging). - Aggiunto un controllo per prevenire nickname con codici colore.
- Risolto un baco che non consentiva correttamente al server di registrare nuovi oggetti dei client.
- Risolta l'impossibilità per i server dedicati di impostare
sv_region
- Risolto un crash causato dall'impostazione di
tf_mm_servermode
prima del comando di mappa.
Patch 1
- Aggiornata la possibilità di un server di uscire quando si tenta di avviare una mappa Mann vs. Machine con un tetto massimo inferiore ai 32 giocatori.
- Riparato il parametro
mp_timelimit
che non faceva correttamente reset in modalita Mann vs. Machine quando i difensori perdevano. - Aggiornato il parametro di invito
tf_mm_strict
.- Il valore 2 nasconderà il server dalla finestra di ricerca ma consentirà comunque connessioni dirette.
Patch 2
- Risolto un baco dove i giocatori rifiutati potevano rimanere registrati come attivi nel conteggio utenti di un server.
- Risolto un raro crash del server mentre si spara con un'arma hitscan.
- Aggiunto il comando
kickall
che espelle tutti i giocatori ad eccezione per i replay, HLTV, e l'ospite del server d'ascolto quando possibile.
- Risolto un baco che permetteva a server malevoli di eseguire comandi restrittivi sui giocatori.
- Risolto un baco che permetteva a server malevoli di impedire ai giocatori di eseguire comandi di console.
Patch 1
- Risolto un crash del server relativo ai bot AI Demolitori.
- Su richiesta della comunità:
- Aggiunto un nuovo comando di server
tf_avoidteammates_pushaway
per controllare se e come i compagni di squadra possono spingere via chiunque che occupa lo stesso spazio. - Aggiunto un nuovo comando di server
tf_arena_override_team_size
per permettere agli amministratori del server di stabilire le massime dimensioni delle squadre in modalità Arena.
- Aggiunto un nuovo comando di server
Patch 2
- Risolto un baco che faceva dichiarare ai server di essere pieni.
- Risolto un crash del server che poteva arrivare se una Spy/it|Spia era travestita con in uso il Pugno di ferro.
- Risolto un crash di un server dedicato Linux relativo a Mann vs. Machine.
- Aggiunto il nuovo parametro
sv_shutdown_timeout_minutes
.- Obbliga un server alla chiusura quando richiesto anche se non è vuoto.
- Risolta una perdita di memoria del server dedicato in modalità Mann vs. Machine.
- Risolto il mancato forzamento della modalità festiva.
- Riparato un problema di prestazione dei server relativo ai bot.
Vedi anche
External links
- Source Dedicated Server (Inglese) su Valve Developer Community (Inglese)
- Setting up a Steam Source Dedicated Server – Steam Support site