Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Browsergames > DarkOrbit
You last visited: Today at 02:13

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Private Server Info and Support Thread

Discussion on Private Server Info and Support Thread within the DarkOrbit forum part of the Browsergames category.

Reply
 
Old 06/01/2016, 21:02   #2521
 
elite*gold: 0
Join Date: Dec 2014
Posts: 341
Received Thanks: 224
cryz35, 1 yıldır yokum bro 1 konu hakkında yardımcı olabilicen mi?

Hello, I 'm working on 9.0 emulator, I want to do x and y position according to the database. What should I use instead of the DEFAULT_INC_VALUE?

Code:
package simulator.map_entities;

import simulator.utils.DefaultAssignings;

public class MapEntityPosition
        implements DefaultAssignings {

    // position on map
    protected int mCurrentPositionX = DEFAULT_INC_VALUE;
    protected int mCurrentPositionY = DEFAULT_INC_VALUE;

    public int getCurrentPositionX() {
        return this.mCurrentPositionX;
    }

    protected void setCurrentPositionX(final int pPositionX) {
        this.mCurrentPositionX = pPositionX;
    }

    public int getCurrentPositionY() {
        return this.mCurrentPositionY;
    }

    protected void setCurrentPositionY(final int pPositionY) {
        this.mCurrentPositionY = pPositionY;
    }

    public void setPositionXY(final int pPositionX, final int pPositionY) {
        this.setCurrentPositionX(pPositionX);
        this.setCurrentPositionY(pPositionY);
    }

}
LEJYONER(DS) is offline  
Old 06/01/2016, 22:36   #2522
 
ItsTequila's Avatar
 
elite*gold: 0
Join Date: Jun 2015
Posts: 647
Received Thanks: 956
Quote:
Originally Posted by cryz35 View Post


Any idea why Spaceplauge and Assembly(crafting) thing are missing titles?
You're missing the resource xmls / language files(not /xml/ folder). I remember to they are located in spacemap folder but under a different server. Use charles and see what's requested when you login to DO.
ItsTequila is offline  
Old 06/04/2016, 11:55   #2523

 
elite*gold: 1506
Join Date: Aug 2012
Posts: 592
Received Thanks: 1,020
Wow lol, just seen this :







Funny to see that DarkOrbit is taking inspiration from my CMS ehe

Maybe one day, pservers devs & darkorbit devs will come to an agreement ?

0wnix is offline  
Thanks
1 User
Old 06/04/2016, 12:03   #2524

 
Destiny's Avatar
 
elite*gold: 2
Join Date: Jun 2012
Posts: 988
Received Thanks: 562
Quote:
Originally Posted by player.elite View Post
Wow lol, just seen this :







Funny to see that DarkOrbit is taking inspiration from my CMS ehe

Maybe one day, pservers devs & darkorbit devs will come to an agreement ?

hehe its like your
Destiny is offline  
Old 06/06/2016, 19:38   #2525
 
Chirdo's Avatar
 
elite*gold: 30
Join Date: Jun 2014
Posts: 496
Received Thanks: 86
hey i need p server files i just want it for making 1 vs 1
Chirdo is offline  
Old 06/07/2016, 18:04   #2526
 
45the45's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 543
Received Thanks: 158
Quote:
Originally Posted by Chirdo View Post
hey i need p server files i just want it for making 1 vs 1
Download some private server from the start of this thread
45the45 is offline  
Old 06/07/2016, 18:11   #2527
 
Chirdo's Avatar
 
elite*gold: 30
Join Date: Jun 2014
Posts: 496
Received Thanks: 86
Quote:
Originally Posted by 45the45 View Post
Download some private server from the start of this thread
The Download links dont work
Chirdo is offline  
Old 06/07/2016, 23:56   #2528
 
elite*gold: 0
Join Date: Feb 2015
Posts: 388
Received Thanks: 183
Hey, haven't thought about playin on a P-Server yet so I never checked this thread.

Is there a server with none to little lags, PvP only and up to date?
LilYoung is offline  
Old 06/08/2016, 10:19   #2529
 
elite*gold: 0
Join Date: Jun 2012
Posts: 54
Received Thanks: 6
Hello Friends

I have a Problem, i can read the first packet (666), we can make the Version Response

AS3 CODE FROM CLIENT(version 10.0.4246):

Code:
public function §_-F27§(param1:Boolean, param2:int, param3:int, param4:int) : void
      {
         var _loc5_:* = null;
         if(param1)
         {
            _loc5_ = new §_-52j§();
            if(_loc5_.major == param2 && _loc5_.minor == param3 && _loc5_.build == param4)
            {
               this.§_-oz§();
               this.§_-n3O§();
            }
            else
            {
               this.§_-mb§();
            }
         }
         else
         {
            this.§_-mb§();
         }
      }

public function handleVersionResponce(param1:Boolean, param2:int, param3:int, param4:int) : void
      {
         this.connectionManager.§_-F27§(param1,param2,param3,param4);
      }
READ:

Code:
public void run() {
        try {
            DataInputStream in = new DataInputStream(clientSocket.getInputStream());
            byte[] buffer = new byte[8192];    //If you handle larger data use a bigger buffer size
            int length = in.readShort();
            if (length > 0)
            {
                byte[] byteArray = new byte[length];
                in.read(byteArray, 0, length);
                ByteArrayInputStream packetBAIS = new ByteArrayInputStream(byteArray, 0, byteArray.length);
                DataInputStream packet = new DataInputStream(packetBAIS);
                int id = packet.readShort();
                switch (id)
                {
                    case 666:
                        LOG.INFO(this.serverName, "VERSION REQUEST");
                        VersionRequest vr = new VersionRequest();
                        vr.read(packet);
                        System.out.println("[IN] PacketID: "+ ID + " MAJOR: " +vr.major+ " BUILD: "+vr.build+" MINOR: "+vr.minor);
                        vr.SendVersionResponse();
                        break;
                    default:
                        LOG.INFO(this.serverName, "REQUEST-NOT FUND: " + id);
                        break;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

my try (don't work):
Code:
public void SendVersionResponse() throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        baos.write(1); // Param 1 |  True or Flase (1 /0)
        baos.write(this.major); // Param 2 (Major)
        baos.write(this.minor); // Param 3 (minor)
        baos.write(this.build); // Param 4 (Build)
        baos.flush();
        byte[] data = baos.toByteArray();
        System.out.println(Arrays.toString(data));
    }
Result:

Code:
[08.06.2016 - 10:20:55][GAMESERVER][INFO]: VERSION REQUEST
[IN] PacketID: 666 MAJOR: 0 BUILD: 7 MINOR: 86
[1, 0, 86, 7] <---- Array from SendVersionResponse()
can you help me ?
HammerTyrs22 is offline  
Old 06/08/2016, 12:39   #2530
 
S7K Yuuki's Avatar
 
elite*gold: 0
Join Date: Apr 2015
Posts: 246
Received Thanks: 398
Hey there!

Assuming that the rest of the code works properly. The main problem is here...

Code:
public void SendVersionResponse() throws IOException {
	ByteArrayOutputStream baos = new ByteArrayOutputStream();
	baos.write(1); // Param 1 |  True or Flase (1 /0)
	baos.write(this.major); // Param 2 (Major)
	baos.write(this.minor); // Param 3 (minor)
	baos.write(this.build); // Param 4 (Build)
	baos.flush();
	byte[] data = baos.toByteArray();
	System.out.println(Arrays.toString(data));
}
When you are using
Code:
baos.write();
you are writing bytes directly to the byte array instead of the real int, short, bool, whatever.

For example, major, minor and build must be integers (1 int == 4 bytes) instead of using 4 bytes for that variable you're using only 1.

Also you're missing the whole packet structure which is:
Code:
2 bytes => packet length
2 bytes => packet ID

*VARIABLE FOR EACH PACKET*
Then you've to take a look into the packet class (the 'answer' of VersionRequest has ID 667). If I'm not wrong the correct structure for that one was:
Code:
2 bytes => length
2 bytes => packet ID (667)
4 bytes => major
4 bytes => minor
4 bytes => build
1 byte  => that boolean
Try using DataOutputStream (example):
Code:
public void SendVersionResponse() throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    DataOutputStream os = new DataOutputStream(baos);

    os.writeShort(15);       // If my awesome maths aren't wrong 2+4+4+4+1=15 (Packet Length)
    os.writeShort(667);      // Packet ID
    os.writeInt(this.major); // Param 1 (Major)
    os.writeInt(this.minor); // Param 2 (minor)
    os.writeInt(this.build); // Param 3 (Build)
    os.writeBool(true);      // Param 4 | True or Flase (1/0)
    
    byte[] data = baos.toByteArray();
    YOURSOCKETOBJECT.getOutputStream().write(data, 0, data.length);
    YOURSOCKETOBJECT.getOutputStream().flush();
    System.out.println(Arrays.toString(data));
}
Hope it helps!

Regards.-
S7K Yuuki is offline  
Thanks
1 User
Old 06/08/2016, 13:45   #2531
 
elite*gold: 0
Join Date: Jun 2012
Posts: 54
Received Thanks: 6
Thanks S7K Yuuki , this way :
Code:
public void SendVersionResponse(Socket clientSocket) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream os = new DataOutputStream(baos);
        os.writeShort(15);
        os.writeShort(667);
        os.writeBoolean(true);
        os.writeInt(this.major);
        os.writeInt(this.minor);
        os.writeInt(this.build);

        byte[] data = baos.toByteArray();
        clientSocket.getOutputStream().write(data,0, data.length);
        clientSocket.getOutputStream().flush();
        System.out.println(Arrays.toString(data));
    }
RESULT:
Code:
[08.06.2016 - 13:41:32][GAMESERVER][INFO]: VERSION REQUEST
[IN] PacketID: 666 MAJOR: 0 BUILD: 7 MINOR: 86
[0, 15, 2, -101, 1, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 7]
i have the Problem , i connect to the Server , the server send this packet and the client
cancel connection to the Server, why ?
HammerTyrs22 is offline  
Old 06/08/2016, 14:53   #2532


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,043
Received Thanks: 8,252
Quote:
Originally Posted by HammerTyrs22 View Post
Thanks S7K Yuuki , this way :
Code:
public void SendVersionResponse(Socket clientSocket) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream os = new DataOutputStream(baos);
        os.writeShort(15);
        os.writeShort(667);
        os.writeBoolean(true);
        os.writeInt(this.major);
        os.writeInt(this.minor);
        os.writeInt(this.build);

        byte[] data = baos.toByteArray();
        clientSocket.getOutputStream().write(data,0, data.length);
        clientSocket.getOutputStream().flush();
        System.out.println(Arrays.toString(data));
    }
RESULT:
Code:
[08.06.2016 - 13:41:32][GAMESERVER][INFO]: VERSION REQUEST
[IN] PacketID: 666 MAJOR: 0 BUILD: 7 MINOR: 86
[0, 15, 2, -101, 1, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 7]
i have the Problem , i connect to the Server , the server send this packet and the client
cancel connection to the Server, why ?
Either the order of the packet is wrong or you sent false for the boolean.
Order of packets change each version.

Or your packet is not netty encoded (didn't look at the code).

Find the command of the VersionResponse in your decompiled files by searching for "667".

Look for the "read(dataataInput)" and look at the order it's getting read. You have to write in the same order.
Requi is online now  
Thanks
1 User
Old 06/08/2016, 15:29   #2533
 
S7K Yuuki's Avatar
 
elite*gold: 0
Join Date: Apr 2015
Posts: 246
Received Thanks: 398
Quote:
Originally Posted by HammerTyrs22 View Post

[08.06.2016 - 13:41:32][GAMESERVER][INFO]: VERSION REQUEST
[IN] PacketID: 666 MAJOR: 0 BUILD: 7 MINOR: 86
[0, 15, 2, -101, 1, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 7]
The boolean was set to true, which is correct.

But as Requi said, I bet the problem is on the param order. As I wrote in the example I think the bool was the last param instead of the first one. I can't remember the packet structure right now and I'm 3lazy to decompile main now.

Regards.-
S7K Yuuki is offline  
Old 06/08/2016, 18:02   #2534
 
elite*gold: 0
Join Date: Jun 2012
Posts: 54
Received Thanks: 6
AS3 Code for paket 667:
Code:
package net.bigpoint.darkorbit.net.netty.commands
{
   import §_-N3c§.ICommand;
   import net.bigpoint.darkorbit.map.model.ship.§_-X1E§;
   import §_-R24§.§_-B4Z§;
   import §_-h3g§.§_-u4a§;
   import net.bigpoint.darkorbit.§_-t8§;
   import flash.utils.IDataInput;
   import flash.utils.IDataOutput;
   
   public class §_-l3C§ implements ICommand
   {
      
      public static const ID:int = 667;
      
      {
         var _loc1_:Boolean = false;
         var _loc2_:Boolean = true;
         if(!_loc2_)
         {
         }
      }
      
      public var major:int = 0;
      
      public var minor:int = 0;
      
      public var build:int = 0;
      
      public var §_-l1H§:Boolean = false;
      
      public function §_-l3C§(param1:int = 0, param2:int = 87, param3:int = 7, param4:Boolean = false)
      {
         var _loc6_:Boolean = false;
         if(_loc5_)
         {
            super();
            if(!_loc6_)
            {
               if(!_loc5_)
               {
                  addr37:
                  while(true)
                  {
                     this.build = param3;
                     if(_loc5_)
                     {
                        if(!_loc6_)
                        {
                           if(!_loc6_)
                           {
                           }
                           this.§_-l1H§ = param4;
                        }
                     }
                  }
               }
               addr82:
               while(true)
               {
                  this.major = param1;
                  if(_loc5_)
                  {
                     if(_loc5_)
                     {
                     }
                     this.minor = param2;
                  }
               }
            }
            while(true)
            {
               if(_loc6_)
               {
                  break;
               }
               §§goto(addr37);
            }
            return;
         }
         while(true)
         {
            if(!_loc5_)
            {
               §§goto(addr82);
            }
            §§goto(addr122);
         }
      }
      
      public function §_-m4Q§() : int
      {
         var _loc1_:Boolean = true;
         var _loc2_:Boolean = false;
         return ID;
      }
      
      public function §_-z5§() : int
      {
         var _loc1_:Boolean = false;
         var _loc2_:Boolean = true;
         §§push(13);
         if(!_loc2_)
         {
            return -§§pop() + 58 + 1;
         }
      }
      
      public function read(param1:IDataInput) : void
      {
         if(_loc3_)
         {
            this.major = param1.readInt();
            if(_loc3_)
            {
               if(_loc2_)
               {
                  addr40:
                  while(true)
                  {
                     this.§_-l1H§ = param1.readBoolean();
                     if(_loc3_)
                     {
                        if(!_loc2_)
                        {
                        }
                        break;
                     }
                  }
                  return;
               }
               while(true)
               {
                  this.minor = param1.readInt();
                  if(!_loc3_)
                  {
                  }
               }
            }
            while(true)
            {
               if(!_loc2_)
               {
               }
               this.build = param1.readInt();
            }
         }
         while(true)
         {
            if(!_loc2_)
            {
               §§goto(addr40);
            }
            §§goto(addr112);
         }
      }
      
      public function write(param1:IDataOutput) : void
      {
         var _loc2_:Boolean = true;
         var _loc3_:Boolean = false;
         if(!_loc3_)
         {
            param1.writeShort(ID);
            if(_loc3_)
            {
            }
            addr29:
            return;
         }
         this.§_-435§(param1);
         §§goto(addr29);
      }
      
      protected function §_-435§(param1:IDataOutput) : void
      {
         if(!_loc3_)
         {
            param1.writeInt(this.major);
            if(!_loc3_)
            {
               if(_loc3_)
               {
                  loop0:
                  while(true)
                  {
                     param1.writeBoolean(this.§_-l1H§);
                     if(!_loc3_)
                     {
                        if(_loc3_)
                        {
                        }
                     }
                     addr98:
                     while(true)
                     {
                        if(!_loc2_)
                        {
                           break loop0;
                        }
                        continue loop0;
                     }
                  }
                  return;
               }
               addr69:
               while(true)
               {
                  param1.writeInt(this.minor);
               }
            }
            while(_loc3_)
            {
               §§goto(addr69);
            }
            §§goto(addr109);
         }
         while(true)
         {
            if(!_loc3_)
            {
            }
            param1.writeInt(this.build);
            §§goto(addr98);
         }
      }
   }
}
and the server send the Command :
Code:
 public void SendVersionResponse(Socket clientSocket) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream os = new DataOutputStream(baos);
        os.writeShort(15);
        os.writeShort(667);
        os.writeInt(this.major);
        os.writeBoolean(true);
        os.writeInt(this.minor);
        os.writeInt(this.build);
        //os.writeBoolean(true);

        byte[] data = baos.toByteArray();
        clientSocket.getOutputStream().write(data,0, data.length);
        clientSocket.getOutputStream().flush();
        System.out.println(Arrays.toString(data));
    }
RESULT:
Code:
[08.06.2016 - 18:01:15][GAMESERVER][INFO]: VERSION REQUEST
[IN] PacketID: 666 MAJOR: 0 BUILD: 7 MINOR: 86
[0, 15, 2, -101, 0, 0, 0, 0, 1, 0, 0, 0, 86, 0, 0, 0, 7]
the order is the same or not ?
HammerTyrs22 is offline  
Old 06/08/2016, 20:39   #2535
 
elite*gold: 0
Join Date: Apr 2012
Posts: 182
Received Thanks: 128
Quote:
Originally Posted by HammerTyrs22 View Post
the order is the same or not ?
The byte array you should send is:
1. (short) Lenght of the byte array.
2. (short) ID of the packet. // In your case, 667
And now starts the reading of the variables of that packet:
3. (int) Major. // Should be the same one that client sends you in packet 666.
4. (bool) Server agrees that version. // Should be true.
5. (int) Minor. // Should be the same one that client sends you in packet 666.
6. (int) Build. // "
olitis1 is offline  
Reply

Tags
2018, darkorbit, emulator, private, server


Similar Threads Similar Threads
Private private server :P READ FOR MORE INFO
12/01/2010 - SRO Private Server - 12 Replies
hey guys im wondering if there is anyway to make a real private server like ZSZC or SWSRO or MYSRO but to where i can only play and level a character and as if it was a real private server. but just for me, not like an emulator where im already lvl 90 or 120 or whatever. i mean one where i set the rates and i level. if not then ok u can close this. but i was just wondering.



All times are GMT +1. The time now is 02:14.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.