Ho pensato che a molta gente con problemi di fps e latenza a dod protrebbe interessare questo insiemi di utili parametri da mettere nel config(se nn capite qualcosa domandate pure)
[ ikir starebbe bene in standing :) ]
CLIENT Prestazioni grafiche e connessione:
cl_bob 0
cl_bobcycle 0.8
impostando i valori cosi' elimini l' ondulamento dell' arma, aumento fps
bgmvolume: 1 = enable CD audio (0 may improve performance)
cl_gibcount: sets the number of gibs to spawn when blowing an enemy to bits. 0 may improve FPS.
cl_giblife: sets the time in seconds that gibs remain before disappearing. 0 may improve FPS.
cl_gibvelscale: sets the scale factor for gib graphics. High may improve FPS.
cl_himodels: 1 = enable high quality player models. Set to 1 for slightly better quality player models (and slightly lower fps).
gl_dither: 1 = enable dithering (0 = higher fps).
cl_allowdownload: 1 = enable download of maps, models, and decals on joining a server.
cl_allowupload: 1 = enable upload of maps, models, and decals on joining a server.
cl_cmdrate: set the number of times per second that the client will update the server. Leave at 30 (or lower) for modems, set to 35-55 for Cable or DSL, 50 for LAN games.
cl_dlmax: set the maximum number of kilobytes to download from a server.
cl_download_ingame: 1 = enable downloads during a multiplayer game (generally not a good thing -- instead set cl_allow_download 1 and this one to 0 so downloads are between maps only).
cl_rate: set rate that client will send data to the server in bytes per second (suggested starting values: 1000-4000 modem, 5000-7000 ISDN, 6000-10000 cable/DSL, 7000-20000 T1, 20000+ LAN) -- bad values cause LAG! turn on the r_netgraph 3 to help evaluate different values, and try non-integers like 4001.0528.
cl_resend: set resend count (the number of times to attempt to resend packets).
cl_timeout: set the inactivity time before a client is disconnected (timed out).
cl_updaterate: set number of updates client will request from the server each second. In general, the more players in the game, the lower this should be. Lower than 12 will cause choppiness, but 15 may be great for some slow connections. Cable and DSL connections may like 30-40, unless there are too many players on the server. FOr lan games, use 50.
pushlatency: set pushlatency (try around -1/2 to -1 times ping) -- some people say using non-integer values (like -100.0521) reduces lag.
gl_keeptjunctions: 0 = enable allowing slight cracks between textures, setting to 1 may look better on some video cards, but will be a bit slower (fewer fps).
gl_lightholes: 1 = enable light holes (0 may improve perfomance).
gl_max_size: set the maximum texture size (higher may look better, but may slow performance if set too high, must be countable by 64).
gl_picmip: set rendering quality (0,1,2, higher is faster and lower quality).
gl_playermip: set player rendering quality (0,1,2, higher is faster and lower quality).
gl_round_down: set texture size rounding-down value (higher rounds more, resulting in lower quality and higher FPS).
gl_smoothmodels: 1 = enable model smoothing. Disabling (0) may increase fps a bit.
gl_spriteblend: 1 enable blending sprite graphics (0 = faster), 0 is recommended if you use picmip.
gl_texsort: 1 enables brighter and more vivid textures, but slows performance.
gl_texturemode: set the rendering mode: in order from lowest quality (fastest) to highest quality (slowest), [type] options are: GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_NEAREST, GL_NEAREST_MIPMAP_LINEAR, GL_LINEAR_MIPMAP_LINEAR. Think of the 1st two as low and high quality for hardware that supports bilinear filtering, and the 2nd two as low and high quality for hardware that supports trilinear filtering.
gl_wateramp: 1 = enable amplified (higher) waves in water. 1 may decrease FPS.
gl_ztrick: 1 speeds up rendering on some 3dfx cards (and maybe others), but may cause flickering on some video cards.
hisound: enable high-quality sound (1=22kHz, 0=11kHz) see also loadas8bit (0 may improve performance).
loadas8bit: set to 1 to force 8-bit (lower quality) sounds (see hisound also).
mp_decals: set max number of decals to display in multiplayer (set lower for perfomance boost, but blast marks and logos will disappear sooner).
precache: 1 = enable pre-loading of all needed files at map start.
r_drawviewmodel: 1 = enable drawing player weapon model (0 improves perfomance a bit).
r_dynamic: 1 = enable dynamic lighting -- the light reflections glowing objects make on other objects nearby, such as rockets and the flashlight (0 may improve fps). Note: Doesn't work for DoD 1.0!
r_mirroralpha: 1 = enable reflective textures (0 may improve performance).
r_mmx: 1 = force MMX calculation methods for MMX CPU's (set to 1 if your CPU supports MMX! Any p2 does, as do most newer AMD and Cyrix chips. If using 1 reduces perfomance, set back to 0).
violence_ablood: 1 = enable blood (0 will improve perfomance some, but you won't see any blood).
violence_agibs: 1 = enable gibs (0 will improve performance some, but you won't see body chunks).
violence_hblood: 1 = enable more blood (0 will improve perfomance some, but you won't see as much blood.
violence_hgibs: 1 = enable more gibs (0 will improve performance some, but you won't see as many body chunks).
_ah: 1 = enable the help dog and 0 = disable it ...
cl_minimap: enable (1) or disable it (0) ... you need to disable it if you want fog.
cl_fog: 1 = enable fog, huge FPS boost.
cl_particlefx: 0-3, the smaller the less detailed particles are. I don't know if 0 works ... //questa la commento io, dunque 0 funzia eccome e te fa guadagnare un bel pò di fps...inoltre ti conviene settarlo a 0 anche se nn hai bisogno di fps in quanto ti permette di giocare meglio.
cl_easymode: 0 = No overhead team icons.
cl_weatherdis: sets the distance you can see particles from. lower = faster.
cl_bulletejects: If you set this to 0, the gun won't spit out empty bullets when you shoot. FPS boost when shooting.
Vi potete fare uno script del genere:
alias boost "boostOFF"
alias boostOFF "dev1; echo fps boost ON; dev0; cl_minimap 0; cl_bulletejects 0; cl_particlefx 0; gl_ztrick 1; gl_polyoffset 4.0; r_decals 0; cl_himodels 0; s_reverb 0; gl_max_size 128; fastsprites 0; gl_texturemode GL_LINEAR_MIPMAP_NEAREST; alias boost boostON"
alias boostON "dev1; echo fps boost OFF; dev0; cl_minimap 1; cl_bulletejects 1; cl_particlefx 3; gl_ztrick 0; gl_polyoffset 8.0; r_decals 1; cl_himodels 1; s_reverb 1; gl_max_size 512; fastsprites 1; gl_texturemode GL_LINEAR_MIPMAP_LINEAR; alias boost boostOFF"
bind "TASTOCHE VUOI" "boost"
//dunque questo script qua è un condensato di settaggi per aumentare gli fps, mi sembra inutile quando si possono mettere i settaggi suddetti nel config, ma se 1 fosse pigro...ecco qua :D
Giocare con la grafica a 16bit, fare un collegamento a dod con la seguente linea di comando.
C:\SIERRA\Half-Life\hl.exe -console -game dod -32bpp
Stringhe Comunicazione team
Vi elenco qui di seguito li vari bind possibili:
bindando %l comunicherete la vostra posizione
bindando %h comunicherete lo stato della vostra energia
bindando %c comunicherete la vostra classe
bindando %i comunicherete l'ultimo compagno visto
bindando %r comunicherete l'energia dell'ultimo compagno visto
Per Esempio questo è il mio bind:
bind "i" "say_team alpha is at [%l] Health [%h] last Seen [%i]"
A video apparirà:
alpha is at [dovemitrovo] Health [vitarimanente] last Seen [Nomedelplayer]
Da notare che l'ultimo compagno visto vuol dire l'ultimo compagno che avete "mirato",
che rimarrà tale finkè non ne "mirerete" uno nuovo.
OTTIMIZZAZIONE NET CODE
la guida e' presta da cstrike.it
Choke e Loss
Se durante una partita di cs scrivete in console net_graph "3" potrete osservare un piccolo grafico in un angolo dello schermo: questo grafico indica lo stato della vosta connesione. Se avete dei valori alti di cl_updaterate ci sarà un traffico di pacchetti maggiore tra il vostro pc e il server, se la vostra connesione non ha sufficente banda per sopportare questo scambio di pacchetti avrete choke, di conseguenza il server ritarderà a inviare il pacchetto succesivo di dati fino a quando non ci saranno più choke. In generale quindi non sarà come giocare con valori alti di cl_updaterate perchè i pacchetti di scambio saranno meno frequenti e quindi di meno. I loss invece sono i pacchetti che non arrivano a destinazione, e influiscono molto di più sul gioco.
Per ottimizzare il net code bisogna agire su alcuni parametri presenti nel proprio config.cfg (nella cartella di cstrike), questi sono: cl_updaterate, cl_cmdrate, ex_interp, cl_lc e cl_lw, ora li analizzaremo uno ad uno...
cl_cmdrate
il tempo di aggiornamento dei pacchetti inviati dal server al client.
valore di default: 30
valore consigliato: uguale ai proprio frame per second (che potete controllare sempre nel vostro net_graph), anche per questo comando vale lo stesso che per l'updaterate cioè dipende dalla banda della connesione, se mettendo questo valore come i vostri fps medi vederete numerosi choke e loss allora abbassatelo possibilmente a un divisore dei vostri fps medi.
ex_interp
Per un bug di hl questo comando non ha purtroppo la sua reale funzione. Dovrebbe regolare l'interpolazione nel movimento dei players. L'intepolazione serve a creare immagini fittizie tra una posizione "reale" (posizione dove, per il server, il giocatore realmente è) e l'altra. Sparando al model nel momento in cui si trova in questa posizione interpolata, per il server, non verrà colpito niente. Per questo motivo si era pensato fino a pochi mesi fa di adottare come standard ex_interp 0.05, che riflette delle posizioni più accurate del player. Purtroppo per il bug di cui sopra noi effettivamente vedremo il model del palyer nelle posizioni "reali", ma l'hitbox (cioè quello che bisogna colpire per far si che il server conteggi il danno) non corrisponde con il model. Infatti a causa della compensazione del lag del server l'hitbox avrà sempre un ritardo uguale (pari a quello che ha a 0.1, ovvero il valore standard) qualunque sia il valore dell'ex_interp. Questo comporta che il model che vedete sullo schermo "anticiperà" negli spostamenti la sua hitbox tanto più l'ex_interp è basso. Per colpire un avversario dovreste quindi sparare poco dietro al model di un giocatore in movimento. Questo valore verrà bloccato con la prossima versione di cs e precisamente a 0.1, valore standard e ormai adotatto da tutti i principali tornei. Solo a 0.1 infatti l'hitbox coincide con il model del player.
valore di default: 0.1
valore consigliato: 0.1 (valore di default e unico utilizzabile a partire da cs 1.6)
sv_maxupdaterate
Questo comando server side limita il valore massimo per il 'rate' del client. Purtroppo molti admin di server RENT non hanno provveduto a modificarlo così da creare problemi di chike e lag ai giocatori. Per rendere possibile a tutti i giocatori con differenti connesioni di sfruttarle al meglio si consiglia di settare questo valore almeno a 20000.
valore consigliato: 20000
sv_lan
Questo è un comando server creato per le lan, per un piccolo errore che verrà risolto nella prossima relase di cs, se settato a 1, il valore del sv_maxrate verrà settato a 10000, creando così choke con un netcode da lan. Si consiglia quindi di tenerlo a 0 per evitare questi problemi.
valore di default: 1
valore consigliato: 0
Diversi Tipi di Connessione
Spesso mi è capitato di leggere richieste da parte di player che volevano sapere come settare il config per la loro ADSL/ISDN ecc... a mio parere non esiste un'unica configurazione che lavora bene con TUTTE le ADSL per esempio, ogni connessione è diversa dall'altra, cambiano modem, router, la distanza dalla centralina, la qualità delle linee, i nodi di collegamento ecc...
Quindi se volete settare al meglio il netcode il modo migliore per farlo è testare molto. Cercate di tenere quei valori quanto più vicino al valore suggerito quanto vi è possibile. Una via di mezzo tra valore suggerito e 0 choke/loss. Purtroppo si sa che molte ADSL hanno diversi problemi di ping e lag durante la giornata, nessun comando cfg e nessun server vi aiuteranno però a risolverli, in quanto si tratta di un problema relativo ai gestori telefonici.
Rate e Server
Il rate è un altro comando fatto apposta per l'ottimizzazione della connessione, è molto importante con connessione dall'ADSL in su averlo almeno al di sopra del 13000, altrimenti avendo cl_updaterate e cl_cmdrate vicino al cento ma rate basso avrete comunque numerosi choke e loss.
Con delle buone adsl o con fastweb può essere portato anche a 20000, in quanto la banda di connessione è ampia e se il rate è alto viene sfruttata completamente.
Attenzione però: controllate sempre quando entrate in un server a che vaolre è settato il sv_maxrate (scrivendolo in console o da ase anche) perchè se per esempio questo fosse fissatto a 10000 e voi avete rate 25000 nel config il vostrò rate sarà autosettatto a 10000 e questo comporterebbe spiacevoli sorprese nel vostro net_graph.
Ping
Non badate troppo al ping nella tabella degli score, non è preciso come dovrebbe e spesso può trarre in inganno. Se seguite i miei consigli sul come settare cmdrate e updaterate il ping si alzerà lievemente rispetto all'utilizzare dei valori di default o comunque più bassi, ma questo non deve preoccuparvi. Molto meglio avere questi valori quanto più vicino a 100 possibile e avere la sicurezza di giocare al meglio.