[GUIDA] Startare server privato World Of Warcraft 3.3.5a [ArcEmu]

Stato
Discussione chiusa ad ulteriori risposte.

Sekmet

Utente Palladium
8 Maggio 2010
2,465
179
1,377
1,471
Ultima modifica da un moderatore:
Startare server privato World Of Warcraft 3.3.5a con ArcEmu


Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale 4.0 Internazionale.

Premessa​

La guida è stata interamente sviluppata dal sottoscritto e non copiata. Fonti e crediti del materiale utilizzato/richiesto sono indicate/i.
La guida tratta lo starting del server privato (non la sua composizione tecnica come scripts e objects) e sopratutto verrà utilizzato ArcEmu (c'è anche la versione Trinity Core).
La guida spiega come startare il server in locale ed è quindi richiesta una minima conoscenza in interconnessione in caso di server hostato in dedicato.

Materiale richiesto

World Of Warcraft 3.3.5a Repack - Download - Fonti: Web
World Of Warcraft 3.3.5a - Download - Fonti : Molten-WoW

Procedimento

Dopo aver scaricato tutto il materiale possiamo procedere con la configurazione dei files e con lo start del nostro server.
Prima di tutto estraiamo i files contenuti nell'archivio "The WoW Repack (ArcEmu)"
3ec198a60d5660d3ce9607ad9b3e9be7.png


Alla fine dell'estrazione otterremo una cartella chiamata "The WoW Repack (ArcEmu)"

3f80381f1ae21c9eddc45ae4afd6aba3.png


Nella cartella saranno contenute sottocartelle e files. Prima di tutto dobbiamo impostare i Files di configurazione dirigendoci quindi in

ArcEmu -> Configs
Qui troveremo quattro files

b122323a5ea7e98f2c28ee712497286e.png


Configurazione file logon

Iniziamo allora aprendo il primo file di configurazione di nome "logon" utilizzando un normale editor di testo (Blocco Note per esempio). Nel file sono contenute delle linee guida in inglese, ma sfrutterò questa guida per spiegarvi passo dopo passo le voci più importanti da modificare.

Andiamo allora a cercare queste righe di codice :

Codice:
<LogonDatabase Hostname = "localhost"
               Username = "root"
               Password = "ascent"
               Name     = "logon"
               Port     = "3306"
               Type     = "1">


Dove abbiamo rispettivamente :

hostname -> Hostname dove è collocato il Database. In questo caso in locale.
Username -> Username di accesso a MySQL
Password -> Password di accesso a MySQL
Name -> Nome del database
Port -> Porta di ascolto di MySQL (Generalmente è 3306)
Type -> 1 (Nel nostro caso 1 sta per MySQL)

Scendiamo ora giù in cerca di queste altre righe di codice :

Codice:
<Listen Host = "127.0.0.1"
        ISHost = "127.0.0.1"
        RealmListPort = "3724"
        ServerPort = "8093">


Qui abbiamo l'indirizzo sul quale ascolterà il realmlist, non c'è niente da spiegare.

Scendiamo ancora giù alle seguente righe di codice utili a determinare cosa deve essere visualizzato sulla console del server.

Codice:
<LogLevel Screen = "3"
          File = "-1">

Si fa riferimento a questo legenda :

0 -> Nulla
1 -> Gli errori
2 -> Dettagliato
3 -> Tutto

Scendiamo ancora giù prendendo in esame queste righe di codice :

Codice:
<Rates AccountRefresh = "600">

Nulla da spiegare se non che la riga di codice indica il tempo (in SECONDI) che deve passare tra un Refresh e l'altro degli accounts.

Terminiamo con la configurazione del file "logon" dirigendoci alla fine del file e alle seguenti righe di codice :

Codice:
<LogonServer RemotePassword = "ascent"
             AllowedIPs = "127.0.0.1/24"
             AllowedModIPs = "127.0.0.1/24">


Qui abbiamo :

RemotePassword -> Deve essere la stessa password che viene utilizzata per la connessione a MySQL ed è la password utilizzata per l'autenticazione con il worldserver.
AllowedIPs -> Sono tutti gli IP che possono collegarsi al Server.
AllowedModIPs -> Sono tutti gli IP che hanno accesso ai comandi di amministrazione (ban, mute, permessi account etc..)

Abbiamo terminato con la configurazione del file logon.
Configurazione file optional

In questo files potremo stabilire il numero di professioni, il livello di partenza etc...
Una volta aperto il file andiamo subito alla ricerca di queste righe di codice :

Codice:
<Optional StartingLevel="1"
    LevelCap="80"
    GenLevelCap="80"
    AllowTBC="1"
    AntiMasterLootNinja="0" 
    AdditionalFun="0" 
    DKStartingTalents="1" 
    Unstuck="0" 
    UnstuckCooldown="60" 
    UnstuckToBind="1"
    MaxProfessions="5">


Qui possiamo stabilire il livello di partenza, l'incremento degli stats fino a che livello, concessione o meno dei personaggi della patch The Burning Crusade, tempo d'attendere prima di un debug, coordinate predefinite dopo il debug (generalmente hearthstone coordinate), numero massimo di professioni che un player può ottenere.

Procediamo ora alle prossime righe di codice che ci permetteranno di decidere gli scambi colloquiali tra la fazione Horde e Alliance.

Codice:
<Interfaction InterfactionChat="0"
    InterfactionGroup="0"
    InterfactionGuild="0"
    InterfactionTrade="0"
    InterfactionFriends="0"
    InterfactionMisc="0"
    CrossOverCharacters="1">


Impostando le voci in questo modo le fazioni non potranno fare gruppi misti, gilde miste, scambi, mandarsi richieste amicizia o fare azioni su players della fazione opposta (tipo /who). Con queste impostazioni permettiamo agli utenti di creare personaggi Alliance e Horde nello stesso account.

Proseguiamo con un'altra configurazione che ci permetterà d'impostare gli annunci.

Codice:
<Color AnnTagColor = "2"
    AnnGMTagColor = "1"
    AnnNameColor = "4"
    AnnMsgColor = "6">


Con queste righe di codice possiamo impostare il colore dei tags [] e GM/Admin, il colore del nome dell'annunciante ed il colore del messaggio facendo riferimento alla seguente legenda :

LightRed = 1
LightBlue = 2
Blue = 3
Green = 4
Red = 5
Gold = 6
Grey = 7
White = 8
Magenta = 9
Yellow = 10

Molte impostazioni possono anche essere lasciate come stanno. Andiamo quindi direttamente alle seguenti righe :

Codice:
<ClassOptions DeathKnightPreReq = "0"
        DeathKnightLimit = "0" >

Queste righe permettono d'impostare :

DeathKnightPreReq -> Impostare a 1 se è richiesto 1 personaggio lv 55 nell'account.
DeathKnightLimit -> Impostare a 1 se si può creare 1 solo Death Knight per ogni Realm.

Terminiamo poi con le impostazioni dei gold di partenza e la quantità di gold massima :

Codice:
<GoldSettings EnableGoldCap = "0"
          StartingGold = "0"
          MaximumGold = "214784">

EnableGoldCap -> Abilita o disabilita una quantità massima di gold.
StartingGold -> Gold di partenza alla creazione del PG.
MaximumGold -> Quantità massima di gold raggiungibile.

Abbiamo terminato con la modifica del file "optional"

Configurazione file realms

Dirigiamoci subito alle seguenti righe :

Codice:
<LogonServer Address = "127.0.0.1"
    Port = "8093"
    Name = "Default Logon"
    RealmCount = "1">


Dove abbiamo :

Address -> Indirizzo server
Port -> Porta di ascolto del server (differente dalla porta di ascolto del realmlist)
Name -> Nome del LogonServer. Voce irrilevante.
RealmCount -> Numero di Realms.

Corriamo subito alla fine del file e trattante i realms con i loro nomi, indirizzi, icone etc...

Codice:
<Realm1 Name = "WoW Server"
    Address = "127.0.0.1:8129" 
    Icon = "Normal"
    Population = "2.0"
    TimeZone = "2">


Name -> Nome del Realm
Address -> Indirizzo con la porta.
Icon -> Icona del server (PVP, RP, RPPVP, normal)
Population -> 0 poca, 1 media, 2 alta
Timezone ->

0=Korean
1=Development
2=United States
3=Oceanic
4=Latin America
5=Tournament
6=Korean
8=English
9=German
10=French
11=Spanish
12=Russian
13=Tournament
14=Taiwan
15=Tournament
16=China
17=CN1
18=CN2
19=CN3
20=CN4
21=CN5
22=CN6
23=CN7
24=CN8
25=Tournament
26=Test Server
27=Tournament
28=QA Server
29=CN9
30=TestServer2


Attenzione : La porta deve essere differente per ogni realm.

Abbiamo terminato con la configurazione del penultimo file.

Configurazione file world
Procediamo con la configurazione dell'ultimo file di nome "world". Dirigiamoci subito alle seguenti voci :

Codice:
<WorldDatabase Hostname = "localhost" Username = "root" Password = "ascent" Name = "world" Port = "3306" Type = "1">
<CharacterDatabase Hostname = "localhost" Username = "root" Password = "ascent" Name = "characters" Port = "3306" Type = "1">

Le righe di codice sopraindicate sono utili per il collegamento al Database e rispettivamente al Database World e Characters. Per farvi comprendere meglio mi riferisco a queste voci :

f7de5f7c9e6ec7d8f334141c46756732.png


visualizzabili su Navicat dopo aver effettuato la connessione MySQL con esso.
Per entrambe le voci (Worlddatabase e Charactersdatabase) abbiamo le stesse impostazioni :

username, password, name (nome database, se varia questo deve variare anche nome su Navicat), port, type (impostato a 1 per usare client MySQL).

Terminate queste prime impostazioni procediamo con le altre.

Codice:
<Listen Host = "0.0.0.0"
        WorldServerPort = "8129">

Dove abbiamo "host" che è l'indirizzo di ascolto del server e "WorldServerPort" che è la porta di ascolto del WorldServer che deve essere la stessa porta impostata nella tabella realms del LogonDatabase.

Procediamo con la prossima voce che ci permetterà di stabilire cosa deve essere visualizzato nella console del server e nel file di report.

<LogLevel Screen="0" File="-1" World="0" DisableCrashdumpReport="0">

"Screen" è ciò che viene visualizzato nella console del WorldServer e si fa riferimento alla seguente legenda :

0 = Minimo
-1 = Disabilitato
1=Errori
2=Dettagli
3=Tutto

"World" se attivato viene creato un file di nome "world.log" nella directory del server e conterrà tutti i pacchetti inviati e ricevuti dai clienti.
"DisableCrashDumpReport" è per disabilitare i reports post crash, ma se viene abilitato un report viene inviato a sf.net dopo che "./arcemu-crashreport" viene richiamato automaticamente e solo se la Debug Mode è abilitata.

Terminato qui procediamo con le voci che riguardano i nostri adorati players.

Codice:
<Server PlayerLimit = "100"
        Motd = "Have a Great Time Playing!"         
        SendStatsOnJoin = "1"
        EnableBreathing = "1"
        SeperateChatChannels = "0"
        CompressionThreshold = "1000"
        QueueUpdateInterval = "5000"
        KickAFKPlayers = "0"
        ConnectionTimeout = "180"
        RealmType = "0"
        AdjustPriority = "0"
        RequireAllSignatures = "0"
        ShowGMInWhoList = "1"
        MapUnloadTime="0"
        LimitedNames="1"
        UseAccountData="0"
        AllowPlayerCommands="1"
        EnableLFGJoin="0"
        TimeZone="0"
        Collision="0"
        DisableFearMovement="0"
        SaveExtendedCharData="0">

Le voci prese in questione sono analizzate qui di seguito :

PlayerLimit -> Numero massimo di Players collegati allo stesso momento. Una volta superato il limite i giocatori che vogliono loggare vengono aggiunti alla coda.
Motd -> Messaggio che viene visualizzato quando un giocatore logga.
SendStatsOnJoin -> Non ha bisogno di particolari chiarimenti, il server manda (o no) le informazioni del Player al client quando logga.
SeparateChannelsControl -> Impostare a 1 per evitare che Horde e Alliance parlino tra di loro e 0 per favorire le discussioni tra fazioni.
QuequeUpdateRate -> Tempo in millisecondi da un aggiornamento all'altro della posizione del player nella coda di login.
KickAfkPlayers -> Tempo in millisecondi che deve passare dopo che un player è andato afk per essere kickato.
ConnectionTimeout -> Tempo in secondi che deve passare perché un player venga disconnesso se il pacchetto di ping non arriva.
RealmType -> Utilizzato per indicare il tipo di Realm.
AdjustPrority -> 0 per impostare priorità normale e 1 per alta priorità.
ShowGMInWhoList -> on per mostrare GM in /who list e off per non mostrarlo/i.
LimiteNames -> 1 per obbligare gli utenti ad utilizzare nomi A-Z o a-z, 0 per permettere tutto.

Procediamo ora con la configurazione degli annunci IG.

Codice:
<Announce       Tag = "Staff"
                GMAdminTag = "1"
                NameinAnnounce = "0"
                NameinWAnnounce = "0"
                ShowInConsole = "1">

Possiamo decidere il Tag, se mostrare anche <GM> o <Admin> tag, se mostrare o no il nome dell'annunciate per annunci in chat o wide-screen e se mostrare gli annunci nella console del server.

Esaminiamo ora dei semplici rates :

Codice:
<Rates Health="5"
       Power1="1"
       Power2="1"
       Power3="1"
       Power4="1"
       QuestReputation="1"
       KillReputation="1"
       Honor="5"
       PvPTimer="300000"
       ArenaQueueDiff="150"
       Compression="100000"
       XP="40"
       QuestXP="2"
       RestXP="1"
       ExploreXP="1"
       DropGrey="1"
       DropWhite="1"
       DropGreen="1"
       DropBlue="1"
       DropPurple="1"
       DropOrange="1"
       DropArtifact="1"
       DropMoney="2"
       Save="300000"
       SkillChance="1"
       SkillRate="1"
       ArenaMultiplier2x="1"
       ArenaMultiplier3x="1"
       ArenaMultiplier5x="1">

Ciò che dovete sapere è che il valore numerico posto accanto è la quantità di moltiplicatori (se ad esempio vogliamo Exp x4 impostiamo Exp = "4"). Eccezione per le voci "save" e "pvptimer" dove :

Il primo indica il tempo che deve passare affinché gli stats dei players vengano salvati (tempo in millisecondi).
Il secondo indica il tempo di durata del PvP dove 300000 è di Default (5 minuti).

Procediamo con la configurazione generale velle maps e vmaps.

Codice:
<Terrain MapPath = "maps"
         vMapPath = "vmaps"
         UnloadMaps = "1">

I primi due indicano la locazione dei files dei maps e vmaps mentre l'ultimo indica se vogliamo o no ricaricare le mappe una volta che queste sono andato in idle (afk, standby). Per l'ultima opzione è consigliabile disabilitare nel caso in cui si usufruisse di specifiche tecniche piuttosto limitate.

Procediamo ora con una riga molto importante :

Codice:
<LogonServer DisablePings = "0"
             RemotePassword = "ascent">

La prima voce serve per abilitare o no il pingaggio al server per controllare il suo stato (on, off). La seconda voce è la password che deve uguale a quelle impostate precedentemente.

Il resto delle configurazioni non hanno bisogno di particolari spiegazioni, comunque una versione più completa verrà presto resa pubblica.

Con questo si è terminata la configurazione anche dell'ultimo file.


Startare il server

Abbiamo terminato con la configurazione dei files e possiamo ora startare il nostro server.
Torniamo quindi indietro e andiamo nella cartella "Server" dove è collocato il programma MySQL che andremo ad avviare

58159102e9ab56414d034f8e0a881bd2.png


una volta avviato torniamo indietro e torniamo nella cartella "ArcEmu" dove troveremo due files :

3474d4b2240963a09d5762faaf5da5dd.png


Avvieremo prima "ArcEmu - LogonServer" e successivamente "ArcEmu - world".
Il secondo file richiederà più tempo. Visualizzerete una finestra di console con numerosissime voci, fate caricare fino a quando non avrà terminato.

Collegarsi al server

Siamo giunti all'ultimo passo, il più semplice.
Per collegarsi al nostro server sarà necessario andare a modificare un file di nome "realmlist" (dovranno farlo tutti coloro che vorranno collegarsi al vostro server), il file è collocato nella cartella del nostro gioco (in questo caso World Of Warcraft 3.3.5a) e più precisamente in :

World Of Warcraft 3.3.5a (No Install) -> Data -> EnUS/EnGB

Apriamo il file "realmlist" con un normale editor di testo, rimuoviamo il contenuto e scriviamo :

set realmist 127.0.0.1

Se avete il server in locale lasciate pure "127.0.0.1", se lo avete su Hamachi inserite il vostro IP e se invece avete hostato il server su un dedicato, inserite il relativo IP.

La guida è giunta al termine e voi avete startato il vostro server privato di World Of Warcraft.


Quest'opera è distribuita con Licenza​
Creative Commons Attribuzione - Non commerciale 4.0 Internazionale.

E' concessa la copia totale della guida, ma solo sotto inserimento di fonti. Qualsiasi attività di leeching verrà perseguitata.


Saluti, Sekmet.-
 
Ultima modifica:
Voglio provare tutto, domani provo a farlo :D


Bella guida comunque, molto ben impostata ^_^
 
  • Mi piace
Reazioni: Sekmet
Devo testare tutto cio !
Wow !!

Bella guida comunque, molto ben impostata ^_^

Grazie, ci ho lavorato oggi pomeriggio e stasera (stanotte si può dire ormai).
Ho precisato che manga la spiegazione del file di configurazione "world" che svilupperò e inserirò (molto probabilmente) domattina. Le prossime guide riguarderanno l'utilizzo di Navicat e HeidiSQL. Mi occuperò anche della creazione di Video Tutorial che fanno sempre bene.
 
  • Mi piace
Reazioni: Mr.Enyx™
Grazie, ci ho lavorato oggi pomeriggio e stasera (stanotte si può dire ormai).
Ho precisato che manga la spiegazione del file di configurazione "world" che svilupperò e inserirò (molto probabilmente) domattina. Le prossime guide riguarderanno l'utilizzo di Navicat e HeidiSQL. Mi occuperò anche della creazione di Video Tutorial che fanno sempre bene.

Amico mio... meriti Rispetto !
Buon lavoro in continuazione :D

Sinceramente e la prima guida simile che vedo :D
 
Amico mio... meriti Rispetto !
Buon lavoro in continuazione :D

Sinceramente e la prima guida simile che vedo :D

Grazie, si fa quel che si può.
Ho creato la guida proprio dopo aver visto il Thread di un utente che cercava aiuto per la creazione di un server privato di WoW, la risposta è stata una pagina Web esterna a inforge e contenente una guida fatta "parecchio" alla buona.
Cercherò personalmente di sviluppare guide semplici da comprendere e che non fanno troppi giri, ma che fanno intendere ciò che realmente devono (sopratutto con le prossime guide che risulteranno effettivamente lunghe, ma non difficili). Per qualsiasi cosa questo Thread è utilizzabile per domande, segnalazione problemi etc...vedrò successivamente di creare un Thread apposito per la segnalazione di problemi nello starting del server privato, nella configurazione, nell'editing di esso etc..
 
  • Mi piace
Reazioni: Mr.Enyx™
Grazie, si fa quel che si può.
Ho creato la guida proprio dopo aver visto il Thread di un utente che cercava aiuto per la creazione di un server privato di WoW, la risposta è stata una pagina Web esterna a inforge e contenente una guida fatta "parecchio" alla buona.
Cercherò personalmente di sviluppare guide semplici da comprendere e che non fanno troppi giri, ma che fanno intendere ciò che realmente devono (sopratutto con le prossime guide che risulteranno effettivamente lunghe, ma non difficili). Per qualsiasi cosa questo Thread è utilizzabile per domande, segnalazione problemi etc...vedrò successivamente di creare un Thread apposito per la segnalazione di problemi nello starting del server privato, nella configurazione, nell'editing di esso etc..

Ottimo, ti seguiro da vicino :D
Buona fortuna :p
 
Startare server privato World Of Warcraft 3.3.5a con ArcEmu

Premessa​

La guida è stata interamente sviluppata dal sottoscritto e non copiata. Fonti e crediti del materiale utilizzato/richiesto sono indicate/i.
La guida tratta lo starting del server privato (non la sua composizione tecnica come scripts e objects) e sopratutto verrà utilizzato ArcEmu (c'è anche la versione Trinity Core).
La guida spiega come startare il server in locale ed è quindi richiesta una minima conoscenza in interconnessione in caso di server hostato in dedicato.

Materiale richiesto

World Of Warcraft 3.3.5a Repack - Download - Fonti: Web
World Of Warcraft 3.3.5a - Download - Fonti : Molten-WoW

Procedimento

Dopo aver scaricato tutto il materiale possiamo procedere con la configurazione dei files e con lo start del nostro server.
Prima di tutto estraiamo i files contenuti nell'archivio "The WoW Repack (ArcEmu)"
3ec198a60d5660d3ce9607ad9b3e9be7.png


Alla fine dell'estrazione otterremo una cartella chiamata "The WoW Repack (ArcEmu)"

3f80381f1ae21c9eddc45ae4afd6aba3.png


Nella cartella saranno contenute sottocartelle e files. Prima di tutto dobbiamo impostare i Files di configurazione dirigendoci quindi in

ArcEmu -> Configs
Qui troveremo quattro files

b122323a5ea7e98f2c28ee712497286e.png


Configurazione file logon

Iniziamo allora aprendo il primo file di configurazione di nome "logon" utilizzando un normale editor di testo (Blocco Note per esempio). Nel file sono contenute delle linee guida in inglese, ma sfrutterò questa guida per spiegarvi passo dopo passo le voci più importanti da modificare.

Andiamo allora a cercare queste righe di codice :

Codice:
<LogonDatabase Hostname = "localhost"
               Username = "root"
               Password = "ascent"
               Name     = "logon"
               Port     = "3306"
               Type     = "1">


Dove abbiamo rispettivamente :

hostname -> Hostname dove è collocato il Database. In questo caso in locale.
Username -> Username di accesso a MySQL
Password -> Password di accesso a MySQL
Name -> Nome del database
Port -> Porta di ascolto di MySQL (Generalmente è 3306)
Type -> 1 (Nel nostro caso 1 sta per MySQL)

Scendiamo ora giù in cerca di queste altre righe di codice :

Codice:
<Listen Host = "127.0.0.1"
        ISHost = "127.0.0.1"
        RealmListPort = "3724"
        ServerPort = "8093">


Qui abbiamo l'indirizzo sul quale ascolterà il realmlist, non c'è niente da spiegare.

Scendiamo ancora giù alle seguente righe di codice utili a determinare cosa deve essere visualizzato sulla console del server.

Codice:
<LogLevel Screen = "3"
          File = "-1">

Si fa riferimento a questo legenda :

0 -> Nulla
1 -> Gli errori
2 -> Dettagliato
3 -> Tutto

Scendiamo ancora giù prendendo in esame queste righe di codice :

Codice:
<Rates AccountRefresh = "600">

Nulla da spiegare se non che la riga di codice indica il tempo (in SECONDI) che deve passare tra un Refresh e l'altro degli accounts.

Terminiamo con la configurazione del file "logon" dirigendoci alla fine del file e alle seguenti righe di codice :

Codice:
<LogonServer RemotePassword = "ascent"
             AllowedIPs = "127.0.0.1/24"
             AllowedModIPs = "127.0.0.1/24">


Qui abbiamo :

RemotePassword -> Deve essere la stessa password che viene utilizzata per la connessione a MySQL ed è la password utilizzata per l'autenticazione con il worldserver.
AllowedIPs -> Sono tutti gli IP che possono collegarsi al Server.
AllowedModIPs -> Sono tutti gli IP che hanno accesso ai comandi di amministrazione (ban, mute, permessi account etc..)

Abbiamo terminato con la configurazione del file logon.
Configurazione file optional

In questo files potremo stabilire il numero di professioni, il livello di partenza etc...
Una volta aperto il file andiamo subito alla ricerca di queste righe di codice :

Codice:
<Optional StartingLevel="1"
    LevelCap="80"
    GenLevelCap="80"
    AllowTBC="1"
    AntiMasterLootNinja="0" 
    AdditionalFun="0" 
    DKStartingTalents="1" 
    Unstuck="0" 
    UnstuckCooldown="60" 
    UnstuckToBind="1"
    MaxProfessions="5">


Qui possiamo stabilire il livello di partenza, l'incremento degli stats fino a che livello, concessione o meno dei personaggi della patch The Burning Crusade, tempo d'attendere prima di un debug, coordinate predefinite dopo il debug (generalmente hearthstone coordinate), numero massimo di professioni che un player può ottenere.

Procediamo ora alle prossime righe di codice che ci permetteranno di decidere gli scambi colloquiali tra la fazione Horde e Alliance.

Codice:
<Interfaction InterfactionChat="0"
    InterfactionGroup="0"
    InterfactionGuild="0"
    InterfactionTrade="0"
    InterfactionFriends="0"
    InterfactionMisc="0"
    CrossOverCharacters="1">


Impostando le voci in questo modo le fazioni non potranno fare gruppi misti, gilde miste, scambi, mandarsi richieste amicizia o fare azioni su players della fazione opposta (tipo /who). Con queste impostazioni permettiamo agli utenti di creare personaggi Alliance e Horde nello stesso account.

Proseguiamo con un'altra configurazione che ci permetterà d'impostare gli annunci.

Codice:
<Color AnnTagColor = "2"
    AnnGMTagColor = "1"
    AnnNameColor = "4"
    AnnMsgColor = "6">


Con queste righe di codice possiamo impostare il colore dei tags [] e GM/Admin, il colore del nome dell'annunciante ed il colore del messaggio facendo riferimento alla seguente legenda :

LightRed = 1
LightBlue = 2
Blue = 3
Green = 4
Red = 5
Gold = 6
Grey = 7
White = 8
Magenta = 9
Yellow = 10

Molte impostazioni possono anche essere lasciate come stanno. Andiamo quindi direttamente alle seguenti righe :

Codice:
<ClassOptions DeathKnightPreReq = "0"
        DeathKnightLimit = "0" >

Queste righe permettono d'impostare :

DeathKnightPreReq -> Impostare a 1 se è richiesto 1 personaggio lv 55 nell'account.
DeathKnightLimit -> Impostare a 1 se si può creare 1 solo Death Knight per ogni Realm.

Terminiamo poi con le impostazioni dei gold di partenza e la quantità di gold massima :

Codice:
<GoldSettings EnableGoldCap = "0"
          StartingGold = "0"
          MaximumGold = "214784">

EnableGoldCap -> Abilita o disabilita una quantità massima di gold.
StartingGold -> Gold di partenza alla creazione del PG.
MaximumGold -> Quantità massima di gold raggiungibile.

Abbiamo terminato con la modifica del file "optional"

Configurazione file realms

Dirigiamoci subito alle seguenti righe :

Codice:
<LogonServer Address = "127.0.0.1"
    Port = "8093"
    Name = "Default Logon"
    RealmCount = "1">


Dove abbiamo :

Address -> Indirizzo server
Port -> Porta di ascolto del server (differente dalla porta di ascolto del realmlist)
Name -> Nome del LogonServer. Voce irrilevante.
RealmCount -> Numero di Realms.

Corriamo subito alla fine del file e trattante i realms con i loro nomi, indirizzi, icone etc...

Codice:
<Realm1 Name = "WoW Server"
    Address = "127.0.0.1:8129" 
    Icon = "Normal"
    Population = "2.0"
    TimeZone = "2">


Name -> Nome del Realm
Address -> Indirizzo con la porta.
Icon -> Icona del server (PVP, RP, RPPVP, normal)
Population -> 0 poca, 1 media, 2 alta
Timezone ->




Attenzione : La porta deve essere differente per ogni realm.

Abbiamo terminato con la configurazione del penultimo file.

Configurazione file world
Procediamo con la configurazione dell'ultimo file di nome "world". Dirigiamoci subito alle seguenti voci :

Codice:
<WorldDatabase Hostname = "localhost" Username = "root" Password = "ascent" Name = "world" Port = "3306" Type = "1">
<CharacterDatabase Hostname = "localhost" Username = "root" Password = "ascent" Name = "characters" Port = "3306" Type = "1">

Le righe di codice sopraindicate sono utili per il collegamento al Database e rispettivamente al Database World e Characters. Per farvi comprendere meglio mi riferisco a queste voci :

f7de5f7c9e6ec7d8f334141c46756732.png


visualizzabili su Navicat dopo aver effettuato la connessione MySQL con esso.
Per entrambe le voci (Worlddatabase e Charactersdatabase) abbiamo le stesse impostazioni :

username, password, name (nome database, se varia questo deve variare anche nome su Navicat), port, type (impostato a 1 per usare client MySQL).

Terminate queste prime impostazioni procediamo con le altre.

Codice:
<Listen Host = "0.0.0.0"
        WorldServerPort = "8129">

Dove abbiamo "host" che è l'indirizzo di ascolto del server e "WorldServerPort" che è la porta di ascolto del WorldServer che deve essere la stessa porta impostata nella tabella realms del LogonDatabase.

Procediamo con la prossima voce che ci permetterà di stabilire cosa deve essere visualizzato nella console del server e nel file di report.

<LogLevel Screen="0" File="-1" World="0" DisableCrashdumpReport="0">

"Screen" è ciò che viene visualizzato nella console del WorldServer e si fa riferimento alla seguente legenda :



"World" se attivato viene creato un file di nome "world.log" nella directory del server e conterrà tutti i pacchetti inviati e ricevuti dai clienti.
"DisableCrashDumpReport" è per disabilitare i reports post crash, ma se viene abilitato un report viene inviato a sf.net dopo che "./arcemu-crashreport" viene richiamato automaticamente e solo se la Debug Mode è abilitata.

Terminato qui procediamo con le voci che riguardano i nostri adorati players.

Codice:
<Server PlayerLimit = "100"
        Motd = "Have a Great Time Playing!"         
        SendStatsOnJoin = "1"
        EnableBreathing = "1"
        SeperateChatChannels = "0"
        CompressionThreshold = "1000"
        QueueUpdateInterval = "5000"
        KickAFKPlayers = "0"
        ConnectionTimeout = "180"
        RealmType = "0"
        AdjustPriority = "0"
        RequireAllSignatures = "0"
        ShowGMInWhoList = "1"
        MapUnloadTime="0"
        LimitedNames="1"
        UseAccountData="0"
        AllowPlayerCommands="1"
        EnableLFGJoin="0"
        TimeZone="0"
        Collision="0"
        DisableFearMovement="0"
        SaveExtendedCharData="0">

Le voci prese in questione sono analizzate qui di seguito :

PlayerLimit -> Numero massimo di Players collegati allo stesso momento. Una volta superato il limite i giocatori che vogliono loggare vengono aggiunti alla coda.
Motd -> Messaggio che viene visualizzato quando un giocatore logga.
SendStatsOnJoin -> Non ha bisogno di particolari chiarimenti, il server manda (o no) le informazioni del Player al client quando logga.
SeparateChannelsControl -> Impostare a 1 per evitare che Horde e Alliance parlino tra di loro e 0 per favorire le discussioni tra fazioni.
QuequeUpdateRate -> Tempo in millisecondi da un aggiornamento all'altro della posizione del player nella coda di login.
KickAfkPlayers -> Tempo in millisecondi che deve passare dopo che un player è andato afk per essere kickato.
ConnectionTimeout -> Tempo in secondi che deve passare perché un player venga disconnesso se il pacchetto di ping non arriva.
RealmType -> Utilizzato per indicare il tipo di Realm.
AdjustPrority -> 0 per impostare priorità normale e 1 per alta priorità.
ShowGMInWhoList -> on per mostrare GM in /who list e off per non mostrarlo/i.
LimiteNames -> 1 per obbligare gli utenti ad utilizzare nomi A-Z o a-z, 0 per permettere tutto.

Procediamo ora con la configurazione degli annunci IG.

Codice:
<Announce       Tag = "Staff"
                GMAdminTag = "1"
                NameinAnnounce = "0"
                NameinWAnnounce = "0"
                ShowInConsole = "1">

Possiamo decidere il Tag, se mostrare anche <GM> o <Admin> tag, se mostrare o no il nome dell'annunciate per annunci in chat o wide-screen e se mostrare gli annunci nella console del server.

Esaminiamo ora dei semplici rates :

Codice:
<Rates Health="5"
       Power1="1"
       Power2="1"
       Power3="1"
       Power4="1"
       QuestReputation="1"
       KillReputation="1"
       Honor="5"
       PvPTimer="300000"
       ArenaQueueDiff="150"
       Compression="100000"
       XP="40"
       QuestXP="2"
       RestXP="1"
       ExploreXP="1"
       DropGrey="1"
       DropWhite="1"
       DropGreen="1"
       DropBlue="1"
       DropPurple="1"
       DropOrange="1"
       DropArtifact="1"
       DropMoney="2"
       Save="300000"
       SkillChance="1"
       SkillRate="1"
       ArenaMultiplier2x="1"
       ArenaMultiplier3x="1"
       ArenaMultiplier5x="1">

Ciò che dovete sapere è che il valore numerico posto accanto è la quantità di moltiplicatori (se ad esempio vogliamo Exp x4 impostiamo Exp = "4"). Eccezione per le voci "save" e "pvptimer" dove :

Il primo indica il tempo che deve passare affinché gli stats dei players vengano salvati (tempo in millisecondi).
Il secondo indica il tempo di durata del PvP dove 300000 è di Default (5 minuti).

Procediamo con la configurazione generale velle maps e vmaps.

Codice:
<Terrain MapPath = "maps"
         vMapPath = "vmaps"
         UnloadMaps = "1">

I primi due indicano la locazione dei files dei maps e vmaps mentre l'ultimo indica se vogliamo o no ricaricare le mappe una volta che queste sono andato in idle (afk, standby). Per l'ultima opzione è consigliabile disabilitare nel caso in cui si usufruisse di specifiche tecniche piuttosto limitate.

Procediamo ora con una riga molto importante :

Codice:
<LogonServer DisablePings = "0"
             RemotePassword = "ascent">

La prima voce serve per abilitare o no il pingaggio al server per controllare il suo stato (on, off). La seconda voce è la password che deve uguale a quelle impostate precedentemente.

Il resto delle configurazioni non hanno bisogno di particolari spiegazioni, comunque una versione più completa verrà presto resa pubblica.

Con questo si è terminata la configurazione anche dell'ultimo file.


Startare il server

Abbiamo terminato con la configurazione dei files e possiamo ora startare il nostro server.
Torniamo quindi indietro e andiamo nella cartella "Server" dove è collocato il programma MySQL che andremo ad avviare

58159102e9ab56414d034f8e0a881bd2.png


una volta avviato torniamo indietro e torniamo nella cartella "ArcEmu" dove troveremo due files :

3474d4b2240963a09d5762faaf5da5dd.png


Avvieremo prima "ArcEmu - LogonServer" e successivamente "ArcEmu - world".
Il secondo file richiederà più tempo. Visualizzerete una finestra di console con numerosissime voci, fate caricare fino a quando non avrà terminato.

Collegarsi al server

Siamo giunti all'ultimo passo, il più semplice.
Per collegarsi al nostro server sarà necessario andare a modificare un file di nome "realmlist" (dovranno farlo tutti coloro che vorranno collegarsi al vostro server), il file è collocato nella cartella del nostro gioco (in questo caso World Of Warcraft 3.3.5a) e più precisamente in :

World Of Warcraft 3.3.5a (No Install) -> Data -> EnUS/EnGB

Apriamo il file "realmlist" con un normale editor di testo, rimuoviamo il contenuto e scriviamo :

set realmist 127.0.0.1

Se avete il server in locale lasciate pure "127.0.0.1", se lo avete su Hamachi inserite il vostro IP e se invece avete hostato il server su un dedicato, inserite il relativo IP.

La guida è giunta al termine e voi avete startato il vostro server privato di World Of Warcraft.

ATTENZIONE
E' concessa la copia parziale o totale della guida solo dopo aver inserito questo nelle fonti :
Sekmet - Inforge.net
qualsiasi attività di leecher verrà punita via legale.


Saluti, Sekmet.-

Sekmet,
Questa guida serve a CREARE un server WoW o a settarlo o cose del genere?
Ho sempre desiderato giocarci ma siccome è solo per i primi 20 livelli non ne vale la pena °ç°
 
Sekmet,
Questa guida serve a CREARE un server WoW o a settarlo o cose del genere?
Ho sempre desiderato giocarci ma siccome è solo per i primi 20 livelli non ne vale la pena °ç°

Creare un server WoW, infatti la guida è "Startare...". Dal momento che avviare/creare/startare un server implica la modifica di alcuni files, si parla di "Settaggio".
Se vuoi giocarci vai su un server privato (crea thread nella sezione "World of warcraft server privati" dove potrò risponderti adeguatamente).
 
Stato
Discussione chiusa ad ulteriori risposte.