[Tuorial]Como Crear Un Server V88!.

Tema en 'MapleStory' iniciado por iTzSkyper, 1 Dic 2011.

  1. iTz

    iTzSkyper
    Expand Collapse
    Teniente Coronel

    Mensajes:
    1.003
    Me Gusta recibidos:
    11
    Hola chicos.
    Mi amigo me mostró cómo hacer un servidor privado MS v88 y lo hice con este tutorial. A mí me funcionó, así que pensé de compartirlo con todos vosotros. No sé quién hizo este tutorial, así que no se puede publicar créditos. Ahora, sé que es un poco difícil de entender, así que voy a tratar de ayudarle, si puedo. Sería bueno que Dejen " Gracias "si esto funciona para usted, y espero que funcione!
    LocalHost v88 : LocalHost v88
    Microsoft Visual C + + : Microsoft Visual C + +
    En segundo lugar hay que deshacerse de la comprobación de IP, de lo contrario obtendrá "OutOfMemory" . excepción Aquí yo no soy la conversión de la hexagonal para usted así que basta con sustituir el checkIP () con:
    Código:
    [COLOR=#007700][FONT=Monaco]public static [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]bool checkIP[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]string input[/FONT][/COLOR][COLOR=#007700][FONT=Monaco])
    {
    return [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]true[/FONT][/COLOR][COLOR=#007700][FONT=Monaco];
    } [/FONT][/COLOR]
    Entonces usted puede cambiar la IP de tu IP

    Código:
    [COLOR=#007700][FONT=Monaco]public static [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]string toIP [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]= [/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"your.ip.here.and.domains.probably.don't.work"[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]; 
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]Compile [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]and [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]get your own MapleHost[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]exe from the Project folder[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]/[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]bin[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]/[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]release[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]/[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]MapleHost[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]exe [/FONT][/COLOR]
    Por último, la parte checkAccount, siempre dicen que su servidor está abajo, por lo que debe poner esta página php en el servidor WAMP: Tomado de Kerelmans
    <?php
    ## Database Information
    $database = array(
    "host" => "localhost",
    "user" => "root",
    "pass" => "yourpassword",
    "dbse" => "yourdatabasename"


    ## Connect To Database
    mysql_connect($database['host'], $database['user'], $database['pass']) or die("0-Database server is offline.");
    mysql_select_db($database['dbse']) or die("0-Database isn't available.");

    ## All the other stuff...
    if (!empty($_GET['username']) && !empty($_GET['password'])) {
    $username = htmlspecialchars(mysql_real_escape_string($_GET['username']));
    $password = mysql_real_escape_string($_GET['password']);

    $AQuery = sprintf("
    SELECT COUNT('id')
    FROM accounts
    WHERE name = '%s' AND password = '%s'"
    ,
    $username, $password);
    $aresult = mysql_query($AQuery);
    $atotal = mysql_result($aresult, 0);
    $reply = ($atotal > 0) ? true : false;

    // return $reply;
    if ($reply) {
    echo
    '1';
    } else {
    echo
    '0-Wrong username or password.';
    }
    }
    ?>
    Nombre que el archivo "accountCheck.php" y cargarlo a un servidor web (por ejemplo, su wamppy). Ahora usted debería ser capaz de construir sin problemas y se conecta, si aún no establecido adaptadores de bucle a su IP (no localhost, la IP comienza con) "169". Edición
    # 1: No te olvides de ejecutar el structure.sql. Edición
    N º 2: Si se desconecta después de seleccionar los canales, haga lo siguiente: Ve a tu CharlistRequestHandler.java y reemplazar toda la cosa con:
    Código:
    [LEFT][COLOR=#007700][FONT=Monaco]{
    return [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]true[/FONT][/COLOR][COLOR=#007700][FONT=Monaco];
    }
    public final [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]void handlePacket[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]SeekableLittleEndianAccessor slea[/FONT][/COLOR][COLOR=#007700][FONT=Monaco], [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]MapleClient c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]) {
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]System[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]out[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]println[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"CharlistRequestHandler-"[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]slea[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]readByte[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]();
    [/FONT][/COLOR][COLOR=#FF8000][FONT=Monaco]// Pair<String, String> UPP = getUserPassPair(slea.readMapleAsciiString());
    // c.setAccountName(UPP.getLeft());
    // performLogin(UPP);
    //slea.skip(21);
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]int server [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]= [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]slea[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]readByte[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]();
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]setWorld[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]server[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    if (![/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]isLoggedIn[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]() && [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]ServerConstants[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]DEBUG[/FONT][/COLOR][COLOR=#007700][FONT=Monaco])
    {
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]setAccountName[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"Simon"[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]setAccID[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]418[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    }else{
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]disconnect[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]();[/FONT][/COLOR][COLOR=#FF8000][FONT=Monaco]//This isn't a noob check, this is to prevent hackers.
    [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]}
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]System[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]out[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]println[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"Server choice: " [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]+ [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]server[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]int channel [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]= [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]slea[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]readByte[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]() + [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]1[/FONT][/COLOR][COLOR=#007700][FONT=Monaco];
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]System[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]out[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]println[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"Channel choice: " [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]+ [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]channel[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]setChannel[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]channel[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]c[/FONT][/COLOR][COLOR=#007700][FONT=Monaco].[/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]sendCharList[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]([/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]server[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]);
    }
    
    [/FONT][/COLOR][COLOR=#FF8000][FONT=Monaco]/* private Pair<String, String> getUserPassPair(String authStr)
    {
    String dataSection = authStr.split(":")[4];
    String[] UserAndPass = dataSection.split("\\\\");
    return new Pair<String, String>(UserAndPass[0], UserAndPass[1]);
    }
    
    private void performLogin(Pair UPP)
    {
    //todo: real logic here but for now
    System.out.println("User: " + UPP.getLeft());
    System.out.println("Pass: " + UPP.getRight());
    }*/
    [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]} [/FONT][/COLOR][/LEFT]
    Edición N º 4: A continuación, edite la fuente de su cliente - Program.cs: Cambiar el
    Código:
    [LEFT][COLOR=#007700][FONT=Monaco]public static [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]string accountCheck [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]= [/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"http://localms.net/accountcheck.php"[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]; [/FONT][/COLOR][COLOR=#FF8000][FONT=Monaco]//http://localms.net/accountcheck.php username=Gay&password=Person [/FONT][/COLOR][/LEFT]
    a
    Código:
    [LEFT][COLOR=#007700][FONT=Monaco]public static [/FONT][/COLOR][COLOR=#0000BB][FONT=Monaco]string accountCheck [/FONT][/COLOR][COLOR=#007700][FONT=Monaco]= [/FONT][/COLOR][COLOR=#DD0000][FONT=Monaco]"http://[Your domain/IP here]/accountcheck.php"[/FONT][/COLOR][COLOR=#007700][FONT=Monaco]; [/FONT][/COLOR][/LEFT]
    Nota: Una vez más, esto no te alejas de loging con accout Simón.
    Acerca de la cuenta de Simon: Ve a tu base de datos, cuentas y hacer una cuenta con id 418, el nombre de Simón y los demás no importan. Edición
    # 3: No debe ejecutar el servidor y el cliente en la misma máquina de lo contrario el cliente servidor de redirección no funcionará, a menos que conozca una alternativa a la solución que los adaptadores de bucle invertido, por ejemplo.Edición
    N º 4: No más ayuda se proporcionará en el lado del servidor. Edición
    N º 5: Para los que D / C al hacer clic en los canales, es porque su nombre de usuario de la máquina host y en realidad no se ha identificado in me cambió la ServerlistRequestHandler un poco y usted debe entrar en la ClientStartHandler.java (Usted debe saber cómo hacerlo, y usted debe comprobar usted mismo de lo contrario la gente se conecta desde la cuenta especificada).. Edición
    N º 6:. Si usted no ha instalado NET Framework 3.5 o posterior, o si tiene los tonos de error / problemas de trabajo a lo largo de, descarga NET Framework:. . NET Framework
     
  2. Ito

    Ito Makoto
    Expand Collapse
    Coronel
    Usuario destacado

    Mensajes:
    3.000
    Me Gusta recibidos:
    48
    un poco mas de explicacion no haria mal a nadie, unas imagenes sera lo mejor.
     
  3. Ari

    Arigato
    Expand Collapse
    Sargento
    Usuario destacado

    Mensajes:
    373
    Me Gusta recibidos:
    23
    :risa::risa::risa:

    mmm

    [​IMG]
     
  4. sei

    seikon
    Expand Collapse
    Sargento

    Mensajes:
    228
    Me Gusta recibidos:
    4
    mas explicación? para que ... si con esto basta y sobra ... los que no saben nada no deberían meterse a crear server ... asi no vemos tantos server que se abren y cierran el mismo dia ...
     
  5. kod

    kodycia
    Expand Collapse
    Subteniente

    Mensajes:
    533
    Me Gusta recibidos:
    16
    disculpa seikon, no lo veo asi, si el conocimiento se brinda deberia ser de la mejor calidad posible xq muchos simplemente lo usan para aprender, experimentar e incluso divertirse, seria merito propio publicar un server en el cual no duraria nada.

    un burdo ejemplo: no le des de comer a ese bebe, va a ensuciar todo. (sabes que lo puede hacer pero el bebe debe alimentarse)

    gracias por este tutorial
     
  6. Mix

    Mixtamal
    Expand Collapse
    Sargento

    Mensajes:
    301
    Me Gusta recibidos:
    14
    Saludos jejeje hace muhco tiempo que no ando por aqui jeje ahmm una pregunta esta bueno el tutorial para gente pro pero bueno no me meto en ese tema solo digo y pregunto no hay links aki de source v.88 ?
     

Compartir esta página