Guida a RunUO - Mono
Da Tomo della conoscenza - UOShards Wiki.
Contents |
[edit]
Premessa
Questa guida richiede le seguenti conoscenze/prerequisiti:
- Conoscenza dell'ambiente linux
- Almeno Mono 1.9.1 ( è la versione più "indietro" trovabile sul sito. )
- Un minimo di elasticità mentale nell'assegnare i parametri
[edit]
Compilare il Core
- Creiamo un file SH con il seguente contenuto
gmcs -optimize -unsafe -t:exe -out:RunUO.exe -win32icon:runuo.ico -d:MONO -r:System.Drawing -reference:Ultima.dll -recurse:*.cs
- Analizziamo i parametri inseriti:
- -optimize -> Ottimizza il codice (obbligatorio)
- -unsafe -> Permette l'utilizzo di codice unsafe, di cui runuo fa uso. (obbligatorio)
- -t:exe -> Specifica il tipo di compilazione che stiamo facendo (obbligatorio)
- -out:RunUO.exe -> Nome e percorso che avrà il codice compilato. ( Esempio di altra configurazione: -out:/home/kons/uo_lnx/Server.exe )(obbligatorio)
- -win32icon:runuo.ico -> L'icona che avrà l'eseguibile compilato
- -d:MONO -> Stiamo usando Mono (obbligatorio)
- -r:System.Drawing -> I namespace di windows che dobbiamo includere che MONO non ha integrato. In questo caso la richiesta di Drawing è dovuta all'utilizzo della dll Ultima, vedi passo successivo (opzionale)
- -reference:Ultima.dll -> Aggiunge referenze al progetto, in questo caso la dll dell'espansione ML creata da Malganis.(opzionale)
- -recurse:*.cs -> il tipo di files che dovranno essere compilati.(obbligatorio)
[edit]
Impostare libz
Mono non ha bisogno delle due dll zlib32/zlib64 in quanto ha già integrato in sè le dll di compressione. Nelle ultime versioni queste dll han cambiato nome. Ecco un modo semplice e veloce per reindirizzare Runuo alle dll corrette:
- Create (nella cartella dell'eseguibile) un file del tipo
RunUo.exe.config
dove RunUo è il nome che avete dato al vostro eseguibile ( vedi sezione -out, paragrafo precedente ) all'interno del file digitate:
<configuration> <dllmap dll="libz" target="//usr/lib/libz.so.1.2.3.3" /> </configuration>
- Analizziamo il contenuto:
- <configuration> </configuration> -> il codice contenuto fra questi statement è di configurazione.
- <dllmap /> -> Vogliamo cambiare un indirizzamento dll
- dll"libz" -> dll di origine, quella specificata in RunUO
- target="//usr/lib/libz.so.1.2.3.3" -> Percorso della dll a cui vogliamo reindirizzarci (libz.so.1.2.3.3).
- per trovare con comodità questo percorso digitate su terminale:
$ mono -V $ locate libz
Come faccio a sapere se devo cambiare percorso alla dll?
- Molto semplicemente se provate a fare qualsiasi cosa che non sia camminare in game il server andrà in crash.
[edit]
Eseguire RunUO
Da terminale digitate
mono RunUO.exe
- dove RunUO.exe è l'eseguibile compilato ( vedi -out primo paragrafo )

