NOTA

Bienvenido a este humilde Blog, donde podras encontrar codigos fuente de algunos algoritmos o bien programillas sencillos, aqui se reciben criticas constructivas a fin de mejorar el blog... Gracias

sábado, 4 de abril de 2009

Tutorial para hacer un servidor de world of Warcraft version 3.0.9

Lean con atención y no se olviden de ningun paso o no les saldra.

Descargas:

Microsoft .NET Framework 2.0
Microsoft .NET Framework 3.0
Microsoft .NET Framework 3.5
MySQL 5.1
SQLYog 8.02
Arcemu Rev. 2197
WhyDB Rev. 267
Map's extractor
DBC

Solucion a los bug's más comunes:

NCDB (esto es para el bug del pj desnudo y la barra eterna)
Mascotas

Instalaciones:

-MySQL 5.0:
-Next
-Typical; Next
-Install
-Next
-Next
-Marcar la casilla "Configure MySQL Now" si no estaba marcada; Finish
-Configurar MySQL 5.1:
-Next
-Detailed Configuration
-Developer Machine
-Multifunctional Database
-Todo por defecto; Next
-Manual Seting: Un nº racionable de conexiones a soportar (e.j: 500); Next
-Tildar todo; Port Number como esta; Next
-Manual Selected Default Character Set / Collation: (latin1); Next
-Install As Windows Service; Service Name: Por defecto; Launch the MySQL Service automatically; Next
-Modify Security Settings: (Password: pone tu contraseña; Confirm: repeti tu contraseña); Enable root acces for remot machines (solo si se va a acceder al servidor desde otro equipo o si los archivos estan en otro equipo); Next
-Execute
-Finish
-Instalar SQLYog 8.02
-Next a todo y dejarlo por defecto

-Instalacion del server:
Descompriman el extractor de mapas en la carpeta del WoW (por defecto C:\Archivos de programa\World of Warcraft) y ejecutar para que se creen las carpetas dbc y maps, va a tardar un rato, cuando termine borren la carpeta dbc y descompriman el Arcemu en donde les resulte más cómodo. Una vez terminado pasen la carpeta maps (moverla, no copiarla) a la carpeta del Arcemu. Después extraigan el archivo dbc.rar, también en la carpeta del Arcemu.
Ahora descompriman la WhyDB, abran el SQLYog, pongan New Conection, les va a pedir un nombre, pongan el nombre que quieran. Teoricamente se autorellena todo menos la pass. En caso de que no se llene todo pongan:
Host: localhost
Username: root
Password: la pass del MySQL (si quieren que recuerde el pass ponganle Save Password al lado
Port: teoricamente 3306 a menos que cuando instalaron el MySQL hayan cambiado el puerto o les haya aparecido otro, pongan el número de puerto que aparecio ahi, sino se acuerdan cual es pongan 3306 que es lo más factible sino les da preguntenme que yo les digo como hacer.
Database(s): dejenlo vacío

Vayan a la carpeta WhyDB y busquen el archivo tool.bat, haganle click derecho y editar.

Cerca del inicio les aparece algo así:

SET char_db=ascent_char
SET world_db=ascent_world
SET dumppath=.\dump\
SET port=3306
SET host=127.0.0.1
SET mysqlpath=.\MySQL
SET devsql=.\development\ascent_world
SET changsql=.\development\changesets
SET arc2ascent=.\development\extras\arc_to_ascent.sql

Cambienlo por:

SET char_db=nombre de la DB
SET world_db=nombre de la DB
SET dumppath=.\dump\
SET port=3306
SET host=127.0.0.1
SET mysqlpath=.\MySQL
SET devsql=.\development\ascent_world
SET changsql=.\development\changesets
SET arc2ascent=.\development\extras\arc_to_ascent.sql

Ahora guarden y cierren. Abran tool.bat y les va a abrir una ventana del MS-DOS que pide login de la DB y contraseña, le ponen "root" a login de la DB y la contraseña del MySQL a Contraseña, muy obvio =P.
Ahora aparecen unas cuantas opciones. Ponen "i" sin las comillas y esperan a que termine, tarda un rato pero no tanto.
Ahora ya tenemos la DB

Ahora vayan a la carpeta del Arcemu y una vez ahi vayan a la carpeta configs. Abran el archivo arcemu-logonserver.conf con el bloc de notas y editen como esta abajo del original que viene a continuacion (van comparando y editando con el que tienen originalmente bajado)

#######################################################################
# ArcEmu Realms Configuration File
# Last updated at rev.1875
#######################################################################


# LogonDatabase Section
#
# These directives are the location of the `realms` and `accounts`
# tables.
#
# LogonDatabase.Host - The hostname that the database is located on
# LogonDatabase.Username - The username used for the mysql connection
# LogonDatabase.Password - The password used for the mysql connection
# LogonDatabase.Name - The database name
# LogonDatabase.Port - Port that MySQL listens on. Usually 3306.
# LogonDatabase.Type - Client to use. 1 = MySQL, 2 = PostgreSQL, 3 = Oracle 10g
#

Username = "root"
Password = "pass del MySQL"
Name = "Nombre de la DB"
Port = "3306"
Type = "1">


# Host Directive
#
# This is the address that the realmlist will listen on.
# To listen on all addresses, set it to 0.0.0.0
# Default: 127.0.0.1 (localhost)
#
# Note: ISHost is the interserver communication listener.
#

ISHost = "0.0.0.0"
RealmListPort = "3724"
ServerPort = "8093">

# Server console logging level
#
# This directive controls how much output the server will
# display in it's console. Set to 0 for none.
# 0 = Minimum; 1 = Error; 2 = Detail; 3 = Full/Debug
# Default: 3
#

File = "-1">

# Account Refresh Time
#
# This controls on which time interval accounts gets
# refreshed. (In seconds)
# Default = 600
# 600 seconds = 10 minutes - 1 second = 0.0166666667 minutes 300 seconds = 5 minutes, 150 seconds = 2.5minutes
#
#



# Accepted Build Range Setup
#
# These two directives set up which clients will be
# allowed to authenticate with the realm list.
#
# Set these to the same builds that the server was
# compiled for.
#
# As of the last update, version 3.0.9 was build 9551.
#

MaxBuild = "9551">

# WorldServer Setup
#
# RemotePassword
# This directive controls the password used to authenticate with the worldserver.
# It must be the same between the two configs. If it is not, your server will
# not register.
#
# Default: "change_me_logon"
#
# AllowedIPs
# This section MUST be completed, otherwise all attempts to link your servers will fail.
# These "Allowed" fields are a space-seperated list of CIDR-form IP addresses that are allowed
# to make server connections to your logonserver, and register realms.
# For example, everything in the 127.0.0.* range would be:
# 127.0.0.0/24, as 24 of the bits must match the 127.0.0.0
#
# To allow a single IP,
# 1.3.3.7/32, would allow only 1.3.3.7 to connect as 32 of the bits must match.
#
# AllowedModIPs
# In the same form as AllowedIPs, these are the IPs that are allowed to modify the database
# (adding bans, GMs, account permissions, etc)
#

AllowedIPs = "127.0.0.1/24"
AllowedModIPs = "127.0.0.1/24">

Guardan y cierran, ahora abran el arcemu-world.conf y hagan lo mismo que antes:

Cerca del inicio:




Más abajo:

Motd = "Mensaje de bienvenida"
SendStatsOnJoin = "1"
EnableBreathing = "1"
SeperateChatChannels = "0"
CompressionThreshold = "1000"
QueueUpdateInterval = "5000"
KickAFKPlayers = "0"
ConnectionTimeout = "180"
RealmType = "1"
AdjustPriority = "0"
RequireAllSignatures = "0"
ShowGMInWhoList = "1"
MapUnloadTime="0"
LimitedNames="1"
UseAccountData="0"
AllowPlayerCommands="0"
EnableLFGJoin="0"
TimeZone="0"
Collision="0"
DisableFearMovement="0">

Más abajo:

GMAdminTag = "0"
NameinAnnounce = "1"
NameinWAnnounce = "1"
ShowInConsole = "1">

Más abajo:

Modificarlos a gusto (los que dicen no tocar no los modifiquen a menos que sepan que es lo que van a modificar)
Power1="1"
Power2="1"
Power3="1"
Power4="1"
QuestReputation="1"
KillReputation="1"
Honor="1"
PvPTimer="300000" (no tocar)
ArenaQueueDiff="150" (no tocar)
Compression="1" (no tocar)
XP="1"
QuestXP="1"
RestXP="1"
ExploreXP="1"
DropGrey="1"
DropWhite="1"
DropGreen="1"
DropBlue="1"
DropPurple="1"
DropOrange="1"
DropArtifact="1"
DropMoney="1"
Save="300000" (no tocar)
SkillChance="1"
SkillRate="1"
ArenaMultiplier2x="1" (no tocar)
ArenaMultiplier3x="1" (no tocar)
ArenaMultiplier5x="1"> (no tocar)

Más abajo:

RemotePassword = "contraseña del arcemu-logonserver.conf">

Al final:

En 1 los GM's y Admins empiezan en la isla de los gm en 0 empiezan donde empieza la raza o clase elegida.


Ahora guardan y cierran, abren arcemu-realms.conf y editan asi:

#######################################################################
# ArcEmu Realms Configuration File
# Last updated at revision rev.1875
#######################################################################

#********************************************************************************
#* How to use this config file: *
#* Config files are in a block->variable->setting format. *
#* A < signifies the opening of a block, the block name is expected after that. *
#* After the block name, a space and then the settings sperated by = / ' '. *
#* *
#* e.g. *
#* *
#* *
#* Comments can be in C format, e.g. /* some stuff */, with a // at the start *
#* of the line, or in shell format (#). *
#********************************************************************************/

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# LogonServer Section
#
# Address:
# The address (no port) of the server.
#
# Port:
# The port on which the logon server listens. (*** NOT 3724 ***)
#
# Name:
# Not really relavant, but name the logon.
#
# RealmCount:
# The number of realms in the next section.
#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

Port = "8093"
Name = "Nombre del reino"
RealmCount = "1">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Realm Section
#
# Name:
# The name of the realm.
#
# Address:
# The address (and port) of that realm.
#
# Icon:
# The type of realm (PVP, Normal, RPPVP, RP)
#
# TimeZone:
# The location of the server (1=Development, 2=United States, 3=Oceanic, 4=Latin America,
# 5=Tournament, 6=Korean, 8=English, 9=German, 10=French)
#
# Population:
# (0 = low, 1 = medium, 2 = high)
#
# Important information below
#
# change 127.0.0.1 to your EXTERNAL ip if you wish to have a PUBLIC server.
# This issues come up a lot!
#
# Timezone values :
# 0=Korean 16=China
# 1=Development 17=CN1
# 2=United States 18=CN2
# 3=Oceanic 19=CN3
# 4=Latin America 20=CN4
# 5=Tournament 21=CN5
# 6=Korean 22=CN6
# 8=English 23=CN7
# 9=German 24=CN8
# 10=French 25=Tournament
# 11=Spanish 26=Test Server
# 12=Russian 27=Tournament
# 13=Tournament 28=QA Server
# 14=Taiwan 29=CN9
# 15=Tournament 30=TestServer2
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

Address = "localhost:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "1">

Guardan y cierran. Si se quiere modificar algo del optional se puede hacer, es fácil y no es necesario saber mucho inglés cualquier duda me preguntan .

-Solución de bug's:

Si cuando pones conectar se queda la barra esperando eternamente, faltan NPC's, aparecen bichos que atacan de la nada, son invisibles y siempre estan demasiado lejos para atacar, cuando te creas un PJ aparece sin ropa, las mascotas no funcionan correctamente y/o los NPC's que tienen armas aparecen con cubos en lugar de estas, hagan esto:

Extraigan el archivo NcDB_rev_47(español) en donde les quede cómodo, ahi trae un LEEME pero yo les explico por las dudas. Abren el SQLYog y hacen click derecho en la DB que crearon, seleccionan "Restore from SQL Dump..." y abren el archivo, le ponene Execute y cuando termine Done; ahora extraigan el archivo Bug's en donde les quede cómodo y abran el archivo, seleccionen todo y copien. Ahora vayan al SQLYog y en la ventana de Querys pegan, seleccionan la DB que crearon, seleccionan todo lo que pegaron y le ponen Execute Current Querys, descompriman el archivo de las mascotas y con el mismo metodo que pusieron la NCDB pongan el archivo descomprimido y las traducciones que vienen en la carpeta de la NCDB (si quieren traducir el server) en la DB que crearon (traduce solo las criaturas, items y misiones el Burning Crusade).

-Crear una cuenta y jugar:

Para crear una cuenta vayan al SQLYog y hagan click en el "+" de la DB que crearon, hagan click en Tables y busquen la tabla accounts. Para más comodidad maximicen el SQLYog, hagan click derecho en la tabla accounts y seleccionen "Alter table..." en la fila Flags columna Default pongan "24" sin comillas para WotLK "8" sin comillas para Burning Crusade y "0" sin comillas para WoW solo, ahora hagan click en la pestaña 4 Table Data y ponen:
Index: 1 (si no tienen este index y solo es ta con * entonces no hagan nada ahi)
Username: nombre de usuario
Password: contraseña
encrypted_password: dejenlo asi
gm: az (admin) au (co-admin o buen gm) a (gm) ps (premium)

El resto dejenlo como esta.

Para jugar simplemente cambien el realm por set realmlist localhost y ya pueden jugar.
Para poner online el server y demás hay una guía en la sección de tutoriales.

Suerte!

No hay comentarios:

Publicar un comentario