Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[21-05-12] JX Online 3 (The Legend of the Swordman Online Ⅲ) Complete Source Code!

Experienced Elementalist
Joined
Nov 17, 2009
Messages
255
Reaction score
157
@cmb

2) Throw the code onto an SVN so people can get the code easily, and be able to contribute with patches and their own branches

good idea, so i can use TortoiseSVN again. ;")
 
Joined
Mar 11, 2007
Messages
903
Reaction score
1,252
I have created the SVN, and am uploading the code atm. I have cleaned it extensively, and removed lots of unneeded things. If you find yourself needing something that is not in the SVN either let me know and if it is truly needed I'll put it in, otherwise just grab it from the main archive

-This is the SVN link, just throw this into your favorite SVN client and boom. I plan on beginning some real work tonight on the code itself. ALSO one note, to save space I have RAR'd up the precompiled .lib files that came with the code, you can find them in the Libs.rar file in the root folder of trunk
 
Joined
Mar 11, 2007
Messages
903
Reaction score
1,252
very nice ;)
but need a lot of clean ;)

indeed, i have finals on wednesday then afterwards im out until august, so i will have plenty of time to work on this and any other projects that have landed in my lap (like that Song Online, aswell as Troy Online) so keep an eye on the SVN, also if anyone wants to help or talk add me on msn at darkwarrior00908@aol.com
 
Newbie Spellweaver
Joined
Oct 1, 2008
Messages
67
Reaction score
12
Hey guys,

Did some searching for possible ways to unpack those .pak files in the client, for translating and things like that.
Script needs to be run with QuickBMS.
Tried it myself and it works, I guess... o_O
Hopefully this will help with further development.



PHP:
comtype NRV2b
idstring PACK
get FILES long
get INFO_OFF long
get BASE_OFF long
goto INFO_OFF
for i = 0 < FILES
    get CRC long
    get OFFSET long
    get SIZE long
    get ZSIZE long

    set doit long 0
    if CRC == -360607879    # some files are invalid!
    #elif CRC == 12345678   # put their crc/name here
    else                    # for skipping them!
        set doit long 1
    endif

    if doit != 0
        if ZSIZE & 0x10000000
            math ZSIZE &= 0x0fffffff
            callfunction unpack_0x10000000
        elif ZSIZE & 0x20000000
            math ZSIZE &= 0x0fffffff
            clog CRC OFFSET ZSIZE SIZE
        elif ZSIZE & 0x40000000
            print "Error: type 0x40000000 not supported"
            cleanexit
        elif ZSIZE & 0x80000000
            print "Error: type 0x80000000 not supported"
            cleanexit
        else
            log CRC OFFSET SIZE
        endif
    endif
next i

startfunction unpack_0x10000000
    savepos TMP
    goto OFFSET
    get CHUNKS long
    get CHUNKS_OFFSET long
    math CHUNKS_OFFSET += OFFSET
    goto CHUNKS_OFFSET
    putvarchr MEMORY_FILE SIZE 0    # pre-allocate for speed
    log MEMORY_FILE 0 0             # reset
    append
    for x = 0 < CHUNKS
        get OFFSETX long
        get SIZEX long
        get ZSIZEX long
        math OFFSETX += OFFSET
        if ZSIZEX & 0x10000000
            print "Error: type2 0x10000000 not supported"
            cleanexit
        elif ZSIZEX & 0x20000000
            math ZSIZEX &= 0x0fffffff
            clog MEMORY_FILE OFFSETX ZSIZEX SIZEX
        elif ZSIZEX & 0x40000000
            print "Error: type2 0x40000000 not supported"
            cleanexit
        elif ZSIZEX & 0x80000000
            print "Error: type2 0x80000000 not supported"
            cleanexit
        else
            log MEMORY_FILE OFFSETX SIZEX
        endif
    next x
    append
    log CRC 0 SIZE MEMORY_FILE
    goto TMP
endfunction

Credits to Aluigi

Kirihara.
 
Not working on UnitedFlyf
Loyal Member
Joined
Apr 21, 2009
Messages
1,385
Reaction score
934
I have created the SVN, and am uploading the code atm. I have cleaned it extensively, and removed lots of unneeded things. If you find yourself needing something that is not in the SVN either let me know and if it is truly needed I'll put it in, otherwise just grab it from the main archive

-This is the SVN link, just throw this into your favorite SVN client and boom. I plan on beginning some real work tonight on the code itself. ALSO one note, to save space I have RAR'd up the precompiled .lib files that came with the code, you can find them in the Libs.rar file in the root folder of trunk

You can't "extensively clean" an MMORPG's source code without taking a large amount of time(I'm talking 80hours+ to get started) regardless of how unorganized or scattered it is. MMORPGs this quality require at least 300k lines code if you include the engine. It would take days or even weeks to go through and understand even 1/10th of that. I'm a bit interested in this though, downloading the source code atm.
 
Joined
Mar 11, 2007
Messages
903
Reaction score
1,252
You can't "extensively clean" an MMORPG's source code without taking a large amount of time(I'm talking 80hours+ to get started) regardless of how unorganized or scattered it is. MMORPGs this quality require at least 300k lines code if you include the engine. It would take days or even weeks to go through and understand even 1/10th of that. I'm a bit interested in this though, downloading the source code atm.

heh, what i meant by cleaning was removing all the bloat and poop that was unneeded, left overs from previous builds and whatnot. I know very well that this code is far from a "clean" state, and it will take a good amount of time to get it there. I'm willing to put some work into it tho, and I have summer coming up very quickly and will have the time to do so.
 
Newbie Spellweaver
Joined
Nov 15, 2011
Messages
54
Reaction score
1
I played this game when it came out in Korea. The only reason I stopped playing was levelling was too slow, and the lag...
but if a PServer of this game can come out, i\ll definitely play this! I hope something can be done XD
 
Newbie Spellweaver
Joined
Mar 9, 2011
Messages
16
Reaction score
0
Hey guys,

Did some searching for possible ways to unpack those .pak files in the client, for translating and things like that.
Script needs to be run with QuickBMS.
Tried it myself and it works, I guess... o_O
Hopefully this will help with further development.



PHP:
comtype NRV2b
idstring PACK
get FILES long
get INFO_OFF long
get BASE_OFF long
goto INFO_OFF
for i = 0 < FILES
    get CRC long
    get OFFSET long
    get SIZE long
    get ZSIZE long

    set doit long 0
    if CRC == -360607879    # some files are invalid!
    #elif CRC == 12345678   # put their crc/name here
    else                    # for skipping them!
        set doit long 1
    endif

    if doit != 0
        if ZSIZE & 0x10000000
            math ZSIZE &= 0x0fffffff
            callfunction unpack_0x10000000
        elif ZSIZE & 0x20000000
            math ZSIZE &= 0x0fffffff
            clog CRC OFFSET ZSIZE SIZE
        elif ZSIZE & 0x40000000
            print "Error: type 0x40000000 not supported"
            cleanexit
        elif ZSIZE & 0x80000000
            print "Error: type 0x80000000 not supported"
            cleanexit
        else
            log CRC OFFSET SIZE
        endif
    endif
next i

startfunction unpack_0x10000000
    savepos TMP
    goto OFFSET
    get CHUNKS long
    get CHUNKS_OFFSET long
    math CHUNKS_OFFSET += OFFSET
    goto CHUNKS_OFFSET
    putvarchr MEMORY_FILE SIZE 0    # pre-allocate for speed
    log MEMORY_FILE 0 0             # reset
    append
    for x = 0 < CHUNKS
        get OFFSETX long
        get SIZEX long
        get ZSIZEX long
        math OFFSETX += OFFSET
        if ZSIZEX & 0x10000000
            print "Error: type2 0x10000000 not supported"
            cleanexit
        elif ZSIZEX & 0x20000000
            math ZSIZEX &= 0x0fffffff
            clog MEMORY_FILE OFFSETX ZSIZEX SIZEX
        elif ZSIZEX & 0x40000000
            print "Error: type2 0x40000000 not supported"
            cleanexit
        elif ZSIZEX & 0x80000000
            print "Error: type2 0x80000000 not supported"
            cleanexit
        else
            log MEMORY_FILE OFFSETX SIZEX
        endif
    next x
    append
    log CRC 0 SIZE MEMORY_FILE
    goto TMP
endfunction

Credits to Aluigi

Kirihara.

There is a Tool for edit .pak in src ;)
 
Joined
May 26, 2012
Messages
1
Reaction score
0
include.exe can be run in Windows Virtual PC,


can everyone bulid complete JX Online 3 server?
please share!!!
I'm very like the game of JX Online 3.
 
Newbie Spellweaver
Joined
Mar 9, 2011
Messages
16
Reaction score
0
maybe with an ide(Integrated development environment) ? :eek:tt1:
 
Back
Top