Archivio > Linux e Open Source, Fuori tema > Singolo: Lineage 2 su Linux: Vittoria!

Lineage 2 su Linux: Vittoria!

Astratto

[Immagine] Lineage 2 è un gioco veramente difficile da emulare. Ci ho provato in passato e non ho mai ottenuto nulla di buono. Finalmente, dopo molto tempo, e grazie all'ultima versione di Wine, Lineage 2 su Linux sembra essere diventata una realtà.

Consiglio caldamente, a chi ancora non lo avesse fatto, di leggere le mie riflessioni sull'epico scontro "Linux/Wine vs. Lineage 2" nell'articolo Emulare Lineage 2 su Linux: a quei tempi la lotta per il successo mi vedeva impegnato in alcuni round critici, dove la bestia nera (nome in codice L2) mi aveva letteralmente umiliato dopo ore e ore di fatica mostrandomi uno stupidissimo:

  The GameGuard file is damaged. Please reinstall GameGuard. (ErrorCode=124)

Ricorderete probabilmente molto bene (o magari per nulla) che i miei numerosi tentativi per scavalcare quell'ostacolo sono stati inutili, essenzialmente perchè GameGuard nasce proprio con l'intento di scovare e bloccare qualsiasi tentativo di cheating (in italiano suona più o meno come attività disonesta) rivolto al client ufficiale.

Così, soddisfatto ma deluso per il risultato ottenuto, mi sono preso un pò di pausa, aspettando che i tempi cambiassero, e il vento soffiasse nella giusta direzione.

A quanto pare la tempesta si è placata, segno che l'attesa non è stata vana. E' tempo quindi di cedere il passo ad un tono più tecnico per mostrarvi effettivamente come sono riuscito a emulare L2 su Linux, e in quali ostacoli vi potreste imbattere. Buona lettura, signori.

Requisiti minimi

Affinchè l'operazione vada a buon fine è necessario avere una macchina con software aggiornato. Vi faccio questa premessa perchè fino ad ora con Wine ho sempre riscontrato parecchi problemi: mouse centering e vari crash occorsi all'avvio a causa di uno scarso supporto all'accelerazione 3D (vedi librerie DirectX e OpenGL).

Adesso invece la musica sembrerebbe essere cambiata. La versione 0.9.41 di Wine ha risolto alcuni importanti bug associati alle librerie DirectX per cui, attualmente, non è più necessario applicare patch al sorgente prima di compilarlo (incluso quel seccante problema del mouse).

L'unico fondamentale requisito insomma è possedere l'ultima versione (0.9.41) di Wine. Se la vostra distro non dispone di un metodo rapido per installarla (come un gestore di pacchetti), allora potete sempre affidarvi alla compilazione manuale, che vi ricordo è composta da questi passi:

# ./configure --prefix=/usr
# make depend && make
# make install

Compilando dovreste metterci un'oretta, forse meno (tutto è relativo, dipende dal vostro processore e dall'hardware montato).

La versione del client che ho testato prima di scrivere questa guida è la C5: Oath of Blood del gruppo The Chaotic Chronicle. In realtà ho ottenuti buoni risultati anche con la versione C6: Interlude, la prima della serie The Chaotic Throne, ma vi spiegherò più tardi il motivo per cui ho effettuato un downgrade.

Ci tengo a dire che non dovete per forza soddisfare questi requisiti. Tramite queste combinazioni io sono riuscito a giocare (non una ma bensì più volte), voi potete benissimo continuare a fare affidamento alla vecchia guida, che rimane un'ottima fonte di riferimento per tutti quei problemi non trattati in questo articolo.

Configurazione di Wine

$ winecfg

Impostate il sistema operativo a Windows XP. Nella scheda Audio, sotto il campo DirectSound aprite il menù a tendina e selezionate Emulation. Mettete la spunta su ALSA Driver nella lista ad albero. Se giocate nella modalità finestra (ovvero non a tutto schermo), assicuratevi almeno che la voce Allow DirectX apps to stop the mouse leaving the window sotto Graphics non sia spuntata, ovvero che non abbia la spunta sopra.

Detto questo possiamo iniziare.

Installazione

L'installazione dovrebbe andare a buon fine semplicemente lanciando da terminale il comando:

$ wine Setup.exe

A questo punto partirà la grafica, chiedendovi la cartella in cui collocare tutti i files del gioco. Se alla fine dell'installazione vi viene mostrato un avvertimento in cui si richiede l'utilizzo delle DirectX 9.0c, ignoratelo semplicemente.

Infine, ditegli di installare (se le volete) le icone sul Desktop, ma di non lanciare subito il client.

Avvio

Per quello che concerne l'avvio del gioco, è bene chiarire una cosa. Non funziona se giocate sui server ufficiali. Questo perchè nella schermata iniziale, il gioco continua a segnalare un errore GG, codice d'errore 100 (riferito al danneggiamento di alcuni file *.erl), o anonimo (che poi sfocia in un errore 610):

  There is a GameGuard initialization error. Please try running it again after rebooting.

Potete provare a controllare se qualcuno è già riuscito a risolvere. Considerate che in genere su Linux non vengono montati firewall al di fuori di iptables, per cui aprire porte aggiuntive potrebbe comunque rivelarsi inutile, ma tentar non nuoce.

Se invece vi accontentate di giocare su quelli privati (cosa che ho fatto io), allora probabilmente riuscirete a scavalcare ogni tipo di errore. Anche in questo caso (e qui ringrazio il mio amico Marco, nome in codice Lippa) bisogna far luce su alcuni punti:

  • I server privati spesso sono illegali. La NCsoft, casa produttrice di L2, lavora da quasi un anno con l'FBI per costringere alcuni di questi a chiudere (non riuscendoci sempre).
  • Gli unici server considerati legali sono quelli che si appoggiano a L2J, emulatore opensource dell'applicativo originale (ovvero quello che gira sui server ufficiali).
  • E' da considerarsi altresì illegale effettuare qualsiasi genere di modifica su quasliasi file di gioco. Ciò consiste infatti in una violazione della licenza proprietaria che copre il codice sorgente.

L2J does not require players to modify their clients in order to play; instead, players are required to edit their hosts file found in Windows system folder. Therefore, it does not violate NC Soft’s client modification policy, which stated any modification made to client is illegal.

Il server su cui ho effettuato le mie prove è SupremeL2. Non mi assumo responsabilità sull'uso che ne farete, quindi siate prudenti e coscienti di ciò che fate.

Problemi collaterali

Ho riscontrato alcuni problemi col cambio di risoluzione durante la sessione di gioco. La schermata principale si sposta verso l'angolo in alto a sinistra della finestra, rendendo impossibile al giocatore continuare la partita. In questi casi potete premere la combinazione di tasti ALT + X: apparirà il menù principale dal quale potrete scegliere se uscire, tornare alla risoluzione precedente, e così via.

Eventualmente potete modificare manualmente system/Option.ini i seguenti parametri sotto la sezione [Video] del file di configurazione:

GamePlayViewportX
Larghezza della finestra di gioco.
GamePlayViewportY
Altezza della finestra di gioco.
ColorBits
Profondità dei colori.
ColorBits
Refresh del monitor (espressa in Hertz).

Esempio:

[Video]
GamePlayViewportX=1280
GamePlayViewportY=1024
ColorBits=32
RefreshRate=50

Infine, ho notato qualche piccolo problema che riguarda la gamma (vedi ultimo significato). Le impostazioni predefinite tendono a impostare una gamma molto elevata, sbilanciando luminosità e contrasto della sessione del server Xorg avviato. Potete risolvere questo problema dal menù di gioco (abbassate il livello ad Average), oppure seguite la procedura sopra descritta per il file di configurazione e aggiungete fra i parametri:

Gamma=0.800000

In alcune parti, nel mondo di L2 il vostro personaggio potrebbe comunque avere problemi e diventare improvvisamente troppo saturato rispetto all'ambiente in cui si trova (zone d'ombra, sotterranei, e così via). In quei casi le texture del corpo e dell'equipaggiamento subiscono un cambio dei valori gamma, ma personalmente l'ho considerato un compromesso accettabile. Probabilmente esiste qualche patch per questo, ma ci si può benissimo convivere anche così.

Conclusioni

Articolo sicuramente meno denso di informazioni rispetto al precedente, forse perchè è da considerarsi più come proseguo che come sostituito. Come ho già detto, per qualsiasi evenienza continuate a tener d'occhio Emulare Lineage 2 su Linux, dove potreste trovare la soluzione ai vostri problemi durante la fase di emulazione. Se volete potete contribuire con schermate di gioco, o comunque con screenshot che immortalino il wizard d'installazione, l'avvio del gioco, eventuali errori in cui vi siete imbattuti, e così via... (anzi, sarebbero molto gradite per arricchire l'articolo!).

Grazie ancora per avermi seguito. :)

Schermate

  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco
  • [Immagine] Schermata di gioco

Approfondimenti

L'articolo è stato di tuo gradimento? Puoi controllare che vi sia altro di tuo interesse nelle categorie e , oppure iscriverti al notiziario RSS e seguirmi su per restare sempre aggiornato sulle ultime pubblicazioni.

Pubblicato martedì 31 luglio 2007.

Discussione [19]

  1. Garret aggiunge:

    [Immagine] Segue l'intervento di Garret

    Ciao mi ha colpito molto dei tuoi screens la chiarezza dei tuoi fonts. Potresti condividiere il tuo fontsrc e anche uno screen che mostra tutte le info dei caratteri che usi?

    Naturalmente dopo puoi deletare questo commento visto che off-topic :)

  2. ilgufo aggiunge:

    [Immagine] Segue l'intervento di ilgufo

    ottimo articolo.. se solo avessi una scheda video abbastanza potente :(

  3. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao, guarda, io ho configurato tutto dalle preferenze di GNOME. :)

    Sistema > Preferenze > Tipi di carattere

    Qui ho messo il carattere Liberation Sans come predefinito per le applicazioni, come suggeritoci da Cimi.

    Sistema > Preferenze > Tipi di carattere > Dettagli

    Sfumatura
    Scala di grigi
    Hinting
    Leggero
    Ordine subpixel
    RGB

    Puoi trovare maggiori informazioni, comunque, cercando negli archivi di PollyCoke e in quelli di Cimi.

    Ciao! ;)

  4. Marco aggiunge:

    [Immagine] Segue l'intervento di Marco

    Ottimo articolo, ma guardando le immagini mi sono chiesto: la schermata iniziale (tanto per capirci, la prima della sezione "Schermate") dipende dalla versione del gioco? Mi sapresti dire su che server sei?

  5. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao Marco, ogni Chronicle ha una schermata diversa (quella è la C5). Per vedere la schermata di login spesso è necessario eludere il controllo GameGuard, che come ho già detto non è una cosa propriamente legale, visto che la NCsoft vieta ogni tipo di modifica al client ufficiale. Il server su cui ho fatto le prove è SupremeL2.

    Ciao. :)

  6. Giorgio aka Yaguar aggiunge:

    [Immagine] Segue l'intervento di Giorgio aka Yaguar

    Sentiti complimenti anche da parte mia! :)

  7. tec90 aggiunge:

    [Immagine] Segue l'intervento di tec90

    Scusa, ma non è sbagliato '$ wine Setup.exe' ? A me non funziona!

  8. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Il comando va eseguito senza il simbolo del dollaro, altrimenti la shell bash cerca un eseguibile di nome $ che non esiste. In genere si usa questa sintassi per distinguere i comandi lanciati da utente normale ($, appunto), da quelli tramite utente root (#).

  9. gna aggiunge:

    [Immagine] Segue l'intervento di gna

    a me compare sempre un errore riguardo l'APG... mi dice che è disattivato

    cosa posso fare???

  10. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao gna, quello appare anche a me, ma non è compromettente! :)

  11. Sid aggiunge:

    [Immagine] Segue l'intervento di Sid

    anche a me da lo stesso problema con wine Setup.exe (facendolo da su) mi dice: "Module not found" mi sapete aiutare tnx

  12. Roberto aggiunge:

    [Immagine] Segue l'intervento di Roberto

    Ciao, a me funziona fino alla schermata di login (che non vedo) appare il riquadro tutto nero e si chiude dicendomi "2007.10.19 14:34:18 OS : Windows XP 5.1 (Build: 2600) CPU : GenuineIntel Unknown processor @ 2799 MHz with 1011MB RAM Video : Direct3D HAL (0)

    You have triggered a bug in the DirectX 9.0 runtime. Please install DirectX 8.1b (or later) for a fix. See Release Notes for instructions on how to obtain it."

    ho ricontrollato tutte le impostazioni, sono esattamente come dici tu...

    io ho wine 0.9.47

  13. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao Roberto, l'unico consiglio che posso darti è quello di ricreare completamente la cartella $HOME/.wine reinstallando il gioco, specialmente se la versione Wine che possiedi è seguito di un upgrade ad una precedente. Anche io dopo aver aggiornato ho avuto qualche problemino.

    Nel caso più disperato scaricati il sorgente della 0.9.44, e vedi se continua a dare lo stesso errore.

  14. VisioN aggiunge:

    [Immagine] Segue l'intervento di VisioN

    Ciao eKoeS...sono passato definitivamente a Kubuntu 7.10 per impegni universitari...visto che da moltissimo tempo gioco a L2, non volevo mollare a causa di Linux quindi dopo un accurata ricerca online ho trovato il link alle tue spiegazioni...

    Possiedo Wine 0.9.49, quindi non dovrei più aver il problema del cursore. Ho impostato tutto come hai fatto te, ho installato il gioco e l'ho aggiornato da ufficiale, tutto è andato perfetto...

    Poi ho installato la patch che mi indirizza al server privato in cui gioco (L2frienz)...quando provo a far partire il gioco non mi da nessun errore, semplicemente avvia l'immagine iniziale di caricamento e si ferma li...

    La mia versione di Lineage2 è Interlude e Wine 0.9.49...che dovrei fare secondo te?

  15. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao VisioN, con Interlude purtroppo non ho avuto esperienze e quindi non so dirti se abbiano aggiunto o no dei controlli extra per evitare l'emulazione (che stando a quel che leggo sembrerebbe quasi rientrare nella categoria hacking).

    Ad ogni modo, come già detto, una buona idea può essere quella di lanciare ogni comando da terminale per analizzare l'output generato. Eventualmente, incollare parte dell'output su Google, e sperare che qualcuno abbia già trattato (e risolto) il problema.

    Fai anche delle prove cambiando alcuni parametri di Wine, come per esempio OS utilizzato, e così via.

    Ciauz!

  16. Marco aggiunge:

    [Immagine] Segue l'intervento di Marco

    Ciao a tutti, sono un appassionato di Lineage ed ho installato da poco kubuntu. Ho installato l'ultima versione di wine e ho copiato ed incollato la cartella vecchia di lineageII (quella che con il vecchio SO era nella cartella programmi) nella directory ./wine/drive_c/programmi Ho impostato wine come scritto sopra ma quando vado a partire il gioco dal file l2.exe mi da' prima l'errore dell'AGP e successivamente mi da' questo errore: "An internal exception occurred (Address 0xa7a65d) ..." Come potrei risolvere il problema? Nel caso volessi installare il gioco senza incollare la vecchia cartella come dovrei fare? Per piacere aiutatemi :-) grazie anticipatamente

  17. Olin aggiunge:

    [Immagine] Segue l'intervento di Olin

    L'errore che mi compare dopo l'avvio di L2.exe è il seguente... "An internal Exception occurred (Address: 0x1f33677). Please contact support@oreans.com. Thank You!"

    non mi spiego quest'errore...nella shell però appaiono anche: " ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0 ALSA lib control.c:909:(snd_ctl_open_noupdate) Invalid CTL default:0 fixme:reg:GetNativeSystemInfo (0x1eeb3bc) using GetSystemInfo() fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot "

    e dopo aver chiuso il messaggio di errore: " err:module:LdrInitializeThunk "Engine.dll" failed to initialize, aborting err:module:LdrInitializeThunk Main exe initialization for L"C:\Programmi\Lineage_II\system\L2.exe" failed, status c0000142 "

  18. Kite aggiunge:

    [Immagine] Segue l'intervento di Kite

    Metto il post nei preferiti! Credo mi sarà d'aiuto :D Unica cosa che volevo farti notare, è che la C6, come la chiami te, non esiste XD E' interlude, non C6 :p

  19. Cloud aggiunge:

    [Immagine] Segue l'intervento di Cloud

    Ciao! ho provato a installare su ubuntu L2.. l’installazione è andata a buon fine, ho patchato L2 ed ora wine mi da i seguenti problemi: The game may not be consistant because AGP is deactivated. Please activate AGP for consistance.

    io ho una ATI Radeon x1650 pro 256 mb e come driver uso fglrx… come posso attivare AGP?

    il secondo errore è questo:

    [code] 2008.11.5 15:57:37 OS : Windows XP 5.1 (Build: 2600) CPU : GenuineIntel PentiumPro-class processor @ 1605 MHz with 2008MB RAM Video : Direct3D HAL (6764) PosCode : LS1:0:0:0 2/0

    You have triggered a bug in the DirectX 9.0 runtime. Please install DirectX 8.1b (or later) for a fix. See Release Notes for instructions on how to obtain it. IsShadow=0,PrimitiveType=0,IndexBuffer=0x9C84240,Base=0,Min=0,Max=65364,First=0,NumPrimitives=115776

    History: FD3DRenderInterface::DrawPrimitive <- ATerrainInfo::Render <- this=Lobby01.TerrainInfo0 <- RenderTerrain <- RenderLevel <- FLevelSceneNode::Render <- FPlayerSceneNode::Render <- UGameEngine::Draw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- UpdateWorld <- MainLoop [/code]

    uso l’ultima versione di Wine, cioe la 1.7

    spero che tu possa darmi una mano.

Discuti

Il blog è in sola lettura.

Paginatura: