Memoria Centrale - Star Trek RPG-X

Guida: come funziona nel dettaglio l'Holomatch e l'RPG-X

« Older   Newer »
  Share  
view post Posted on 12/8/2014, 15:36
Avatar

Memoria Centrale

Group:
Administrator
Posts:
4,292

Status:


In genere sono conosciuto per una cosa: le guide. Faccio topic e topic di guide, sempre complete, non nascondo che sono per la maggior parte molto professionali, ma spesso anche molto pallose, lunghe e troppo tecniche.

Questa è una guida che non è rivolta a tutti, ma la volevo fare, perché sono convinto che sarebbe molto più utile per la gente comune capire l'utilità e lo scopo di una cosa, piuttosto che il suo semplice utilizzo. Una volta capito questo, il resto viene da sè. Nessuno mi ha mai spiegato come funziona l'holomatch o l'RPG-X, ma studiandolo nel dettaglio, file per file, alcune cose le ho imparate anch'io e mi pareva giusto condividerle con chi mi segue.


HOLOMATCH



L'holomatch è la modalità multiplayer di Star Trek: Voyager - Elite Force e fa da base alla mod RPG-X. E' basato sul motore grafico Id Tech 3 (lo stesso di Quake 3), quindi le configurazioni e i comandi da console sono più o meno li stessi di quelli di Quake. Per una recensione dettagliata sull'Holomatch vedere questa pagina.

L'applicazione è strutturata in questo modo: dentro la cartella principale ci sono, fra le altre cose, l'eseguibile stvoyhm.exe, una cartella chiamata BaseEF e dante cartella quanti sono le mod installate. Ognuna di queste sottocartelle contiene dei files di tipo pk3. I files pk3 non sono altro che degli archivi contenenti mappe, oggetti, scripts, ecc che verranno poi caricati all'avvio del programma. Fra questi che ne sono alcuni che si chiamano "pak" seguito da un numero. Questi files sono il cuore del gioco, infatti i files contenuti al loro interno contengono gli elementi base e le textures presenti nella maggior parte delle mappe (e in tutte le mappe della modalità singolo).

Files di configurazione

Oltre ai file pk3, che sono apribili come se fossero files zip, ci sono alcuni files di configurazione con estensione CFG (sigla di "config"). Questi files contengono una serie di comandi che il programma esegue all'avvio, in modo da settare tutte le impostazioni personalizzate dell'utente. Possono essere anche fatti dei file CFG personalizzati in modo da eseguirli direttamente durante il gioco per modificare alcune impostazioni della partita, tipo la modalità di gioco, il numero di bots, il limite di vittorie o di tempo e molte altre cose.

Principalmente ci possono essere questi files .cfg:

- efconfig: configura le impostazioni della modalità singolo giocatore
- hmconfig: configura le impostazioni della modalità multiplayer
- default: setta le impostazioni di default
- autoexec: elenca una serie di comandi che il programma esegue non appena avviato il g ioco (o la mod)

I primi due sono sempre presenti all'interno di BaseEF. Nel caso non siano presenti il sistema li crea al prossimo avvio del programma. Anche quando si installano le mod all'inizio non c'è alcun file hmconfig, tuttavia dopo il primo utilizzo viene copiato l'hmconfig presente all'interno di BaseEF dentro la cartella della mod e infine vengono aggiunti i parametri che servono per far funzionare la mod.

Vediamo ora come modificare questi files di configurazione. Innanzitutto per aprirli non serve alcun programma speciale. Io uso Notepad++ per comodità, ma è sufficiente anche il semplice Wordpad. Attenzione: non Blocco Note, ma Wordpad, perché caricando uno di questi files con il blocco note di Windows verranno visualizzati tutti i parametri senza alcun ritorno a capo con il rischio di non capirci più niente. Usando Wordpad invece si può leggere chiaramente un comando per ogni riga.

Aprendo uno di questi files, ad esempio hmconfig, possiamo vedere una prima riga di commento che dice
CODICE
// generated by Elite Force, do not modify
Piuttosto ironico se pensiamo che molti giocatori (fra cui io) editano puntualmente le configurazioni del gioco direttamente dal file invece di passare per il menu delle opzioni. :D
La prima cosa che si nota è che tutte le righe del codice iniziano con la parola "seta". Seta è un comando per la console di Elite Force (e lo ripeto: funziona come quella di Quake) e serve per modificare il valore di una variabile. Ci sono principalmente due comandi simili per modificare una variabile: Il primo è questo seta
CODICE
seta nome_variabile valore
e l'altro è set
CODICE
set nome_variabile valore
.
La differenza sostanziale è questa. Set imposta il valore di una variabile che sarà valido solo per la sessione corrente, mentre seta, che sta per set archive cambierà il valore della variabile permanentemente. E' possibile dare questo e tutti gli altri comandi direttamente dalla console dell'Holomatch premendo il tasto \ per visualizzare la console e digitando
CODICE
/comando variabile valore

Attenzione:
1) E' possibile avere già una slash digitata una volta aperta la console;
2) Ricordo inoltre che il gioco non si ferma una volta aperta la console, quindi è opportuno mettere in pausa per evitare di venire fraggati;
3) A volte in modo casuale il layout della tastiera cambierà da quella italiana a quella inglese e viceversa, quindi bisogna assicurarsi di leggere quel che si scrive prima di dare l'invio.

Non sto qui a dire passo per passo tutte le opzioni di gioco. Chi vuole può trovare un elenco pressoché completo dei comandi su questa pagina. Elenco quindi i comandi più importanti.

/execServe per eseguire durante il gioco una configurazione personalizzata. Una volta creato un file cfg con i valori delle variabili voluti, mettere quel file in BaseEF e una volta aperta la console durante il gioco, dare il comando exec seguito dal nome del file (senza .cfg finale)
/fraglimitImposta il numero di frag necessari per vincere una partita o un round
/capturelimitImposta il numero di bandiere catturate necessarie per vincere una partita CTF
/timelimitImposta la durata massima di un match
/callvoteAvvia una votazione, se le votazioni sono attivate. i possibilli parametri sono: map (cambiare mappa), nextmap (impostare la prossima mappa), g_gametype (stabilire la modalità di gioco), g_dowarmup X (imposta X secondi di riscaldamento), kick (espelle un giocatore molesto), map_restart (ricomincia la partita). Tutti questi parametri possono essere usati come comandi da parte dell'admin.
/rconpassword XAutentica tramite la password X l'utente come admin
/rconInvia un comando da console al server remoto (in genere un server dedicato)
/logfile 1Inizia la registrazione di tutto quello che appare nella console da questo punto in poi. E' utile per trovare gli errori a seguito di un crash. 1 indica la sessione corrente, 2 lo imposta per il logging continuato, 3 per l'append, in modo da non sovrascrivere quelli precedenti, 0 per terminare il logging. Il file log viene salvato nella cartella BaseEF.
/condump XSalva sul file di nome X tutto quello che è apparso precedentemente sulla console


Struttura di un file pk3

Come ho detto prima, un pk3 è un file del tutto assimilabile ad un file zip che contiene i files che verranno usati nell'holomatch. Questi archivi sono strutturati da varie cartelle e sottocartelle. Aprendo un file pk3 come archivio infatti, possiamo trovare varie cartelle, fra cui:

- botfiles: tutto quello che riguarda i bots
- ext_data: contiene dei file .DAT che comprendono i testi, i dialoghi e le scritte del gioco, nonché alcuni files di configurazione
- levelshots: le anteprime dei livelli e delle mappe
- maps: i files delle mappe vere e proprie. Su Elite Force si usa il formato di mappe BSP
- models: i modelli dei personaggi, dei bots e dei pg nel caso di RPG-X
- music: le musiche di sottofondo
- scripts e real_scripts: insieme di regole e triggers che vengono eseguite durante il gioco (specie nella modalità giocatore singolo)
- textures: varie sottocartelle che contengono tutte le textures utilizzate per mappe e livelli
- video: i video introduttivi e le cutscenes presenti nel gioco in modalità singolo giocatore, di tipi BIK. I files BIK possono essere aperti col programma BIK Player.

Sono presenti molte altre cartelle ma che non rivestono alcuna utilità immediata all'utente.
Le varie mappe aggiuntive scaricabili da internet sono in formato pk3. Per installarle basta mettere il file pk3 all'interno di BaseEF. Attenzione però: c'è un limite di pk3 personalizzati che è possibile aggiungere al gioco. Nell'Elite Force originale questo limite è di 64. In altre versioni più evolute il limite si alza più o meno fino a 200.

Modificazioni

Le mod (modificazioni) sono appunto modifiche del gioco che vanno dalle modalità personalizzate fino alle total conversions che rendono il gioco talmente "rifatto" da renderlo irriconoscibile (come nel caso dell'RPG-X). L'obiettivo delle mod è quello di aggiungere funzionalità al programma, ma anche modificare elementi preesistenti in modo da modificarne l'aspetto per puro effetto visivo.

In genere installare una mod su Elite Force è molto semplice. Si tratta in pratica di scompattare una semplice cartella all'interno della cartella del gioco. Dopodiché ci sono ben tre modi per avviare una mod:
1) Avviare il programma normalmente e dal menù principale scegliere Mods. Selezionare la mod da caricare e premere su Load Mod;
2) Caricato il programma, un volta nel menu principale, tirare giù la console e dare il comando
CODICE
set fs_game nome_mod
Dove nome_mod è il nome della mod da caricare;
3) Usare il collegamento che viene messo in genere assieme alla mod. In pratica si tratta di un collegamento al programma con l'aggiunta di un parametro finale.
Come crearne uno: Fare clic con il tasto destro del mouse sul programma stvoyhm e creare un collegamento. Fare clic destro sul collegamento appena creato e selezionare Proprietà. Nella scheda Collegamento, nel campo Destinazione è presente l'indirizzo del programma. Aggiungere alla fine dell'indirizzo questa stringa di codice in questo modo:
CODICE
[...]stvoyHM.exe" +set fs_game nome_mod
Dove nome_mod è appunto il nome della mod da caricare. Controllare inoltre che l'indirizzo del programma sia racchiuso fra virgolette, quindi dare l'ok. Il collegamento appena creato avvierà il programma con la mod già caricata.

Nel primo e nel secondo caso dato che il programma è già avviato, l'holomatch si riavvierà per eseguire le modifiche. Questo può sembrare un arresto anomalo, quindi non cercate di avviare il programma una seconda volta perché attendendo due secondi vi ritroverete di nuovo al menu principale con la mod caricata.

Consigli e suggerimenti

Collegarsi ad un server privato: usare da console il comando /connect seguito dall'indirizzo ip o dal nome dell'host del server privato. Ovviamente bisogna prima esserne a conoscenza. Ad esempio rpgx.no-ip.biz

Nomi delle mappe: il nome di una mappa può essere diverso dal nome del pk3 che la contiene, il quale può sempre essere diverso dal nome che occorre per avviare una mappa da console. Per scoprire il nome della mappa da digitare nella console basta aprire il pk3 che contiene la mappa e andare nella cartella maps. Il file con estensione BSP sarà il nome necessario per avviare la mappa da console.

Liste di tutte le mappe: Se si hanno molto mappe aggiuntive può essere problematico ricordarsi ogni singolo nome e di certo scrivere a mano una lista è tutt'altro che facile e veloce. Per aggirare questo problema basta usare il comando logfile che ho già spiegato precedentemente. Aprire la console e digitare "logfile 1". Quindi dare il comando "/dir maps" per avere un elenco di tutte le mappe caricate. Una volta usciti dal programma, nella cartella BaseEF (della cartella di una mod se avevate attivato una mod) ci sarà il file qconsole.log che se aperto con Wordpaad o Notepad++ vi darà la lista di file che sono contenuti in ogni cartella maps di ogni archivio pk3. Tutto quello che finisce con BSP sono mappe, se è presente un doppione che finisce in AAS vuol dire che quella mappa ha il supporto per i bots.

Scorrere la console: Può capitare di perdere qualche messaggio per strada quando si usa la console. Per rileggere quello che c'era scritto basta premere il tasto Pag Su per scorrere le righe, e Pag Giù per ritornare alla fine.

Crash luminoso: In caso di crash del gioco (specie durante prove di mappe sperimentali o non ben collaaudate) lo schermo del pc potrebbe apparire molto luminoso. Per riportare i colori alla normalità basta avviare l'utily di taratura dei colori presente nel pannello di controllo di Windows (digitare "taratura" nel menu Start). Quindi premere il tasto Avanti e poi uscire senza completare la procedura.

Server puro/impuro: Per impedire a un giocatore di usare i trucchi durante una partita si può mettere l'opzione Pure Server, che avvia il server in modalità pura, senza aggiunte di ogni genere (le mod del client vengono quindi disattivate).

Massima risoluzione possibile: Nel caso la risoluzione massima non appaia fra le opzioni di gioco modificate il file di configurazione in questo modo: cercate r_mode e impostate il valore a -1. Poi inserite la larghezza e l'altezza in pixel rispettivamente nelle variabili r_customwidth e r_customheight

RPG-X



Una volta capito come funziona l'holomatch non è poi così complicato comprendere come gestire l'RPG-X. L'RPG-X infatti non è altro che una mod di Elite Force, quindi strutturalmente abbiamo la cartella BaseEF, la cartella della mod, cioè RPG-X2, e il programma principale, che stavolta si chiama non più stvoyHM, ma rpgxEF.
Una differenza di poca importanza comunque perché a dispetto del nome e dell'icona, se clicchiamo sul pulsante Mods nel menu principale e carichiamo la prima opzione ci ritroveremo davanti a una versione leggermente cannibalizzata dell'holomatch (per la cronaca, l'holomatch è inutilizzabile). Un altro dettaglio importante è il collegamento creato al termine dell'installazione. In effetti, visualizzando le proprietà del collegamento possiamo notare che oltre all'indirizzo abbiamo vari parametri, senza i quali verrebbe caricato lo pseudo-holomatch di cui ho parlato poco fa.

Detto questo, partiamo subito con qualche accorgimento.

Il file di configurazione

Bisogna dire che a differenza dell'Holomatch i files di configurazione non vengono depositati nella cartella di gioco, ma nella cartella C:\Program.
In questa cartella è presente il solito file hmconfig.cfg che contiene tutte le impostazioni. Dopo aver fatto una copia di backup del file di configurazione possiamo dare un'occhiata a delle variabili che devono essere impostate manualmente e che assicurano una buona fluidità di gioco.

com_hunkmegs: la regola è:"metà della propria RAM in Mb, al massimo fino a 1024". Nella pratica 512 è un valore più che sufficiente
com_soundmegs e com_zonemegs: è buona norma metterla come i 3/4 di hunkmegs, cioè 384
r_detailtextures: occorre impostarlo a 1
cg_shadows: consigliabile a 0
rpg_timedMessageTime dev'essere impostato a 0
cg_drawradar: a causa di alcune incompatibilità è meglio impostarlo a 0

Variabili del pg: nel caso si voglia configurare il pg senza passare per il menu del gioco

name: il nome del giocatore, composto dalla sigla da una sigla e dal nome esteso
sex: il sesso del pg, non necessariamente solo maschio o femmina
model: il modello, che è composto da personaggio/skin/colore. Ricordarsi che le skin e i colori possono variare da personaggio a personaggio
race: la razza del pg
age: l'età del pg
height: l'altezza del pg. Consigliato: 1.0
weight: il peso del pg. Consigliato 1.0
rpg_classSet: il classSet (Set di classi) utilizzato dal pg. Su questa community: rpgx_default
ui_currentClassSet: l'ultimo classSet utilizzato: rpgx_default
ui_playerclass: la classe del pg (deve comparire nel classSet utilizzato)
rpg_rankSet: il rankSet (Set di gradi) utilizzato sul pg. Su questa community: extended
ui_currentRankSet: l'ultimo rankSet utilizzato: extended
ui_playerRank: una sigla che indica il grado del pg

Ricerca di un crash

Il più delle volte cercando di entrare su un server del tipo RPG-X2 facendo Online Roleplay -> Search Server (i server si trovano su Internet 4) il sistema crasherà, probabilmente perché manca fra i vostri pk3 quello che contiene i rankSet e i classSet personalizzati della community. Tuttavia il messaggio di errore non viene visualizzato, ma bisogna cercarlo fra i logs della console. Trovare la causa di un crash è relativamente semplice, perché in genere essendo recente basta tirare giù la console col tasto \ e scorrere con il mouse fino a trovare una scritta contornata da asterischi. Un secondo metodo è quello di usare il comando condump descritto sopra per poter ricercare e leggere l'errore tramite il Wordpad di Windows.

Alcuni messaggi di errore frequenti:

ERROR: Couldn't load maps/nomemappa
Non è possibile caricare la mappa perché non è presente sul vostro pc. Per poter entrare bisogna avere la mappa e le sue dipendenze all'interno della cartella BaseEF (o in rari casi RPG-X2).

WARNING: You are missing some files referenced by the server:
[...]
You might not be able to join the game

Non un errore vero e proprio, ma un warning, ed indica che alcuni files non essenziali non sono presenti e questo potrebbe condurre il gioco ad un crash o a qualche errore di visualizzazione. Anche qui è sempre meglio fare il download di tutte le dipendenze dal sito della community.

ERROR: Client/Server game mismatch
Indica che la versione della mod è diversa fra cliet e server. Di seguito all'errore vengono indicate le versioni non corrispondenti. Esempio, se l'errore è: RPG-X vRPG-X V 2.3 BETA 2/RPG-X vRPG-X V 2.3.4b vuol dire che voi avete installato la versione 2.3 beta 2, mentre il server utilizza la versione 2.3.4b.

Edited by KevinIMP - 12/7/2015, 10:01
 
Top
0 replies since 12/8/2014, 15:36   118 views
  Share