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!

[RELEASE] CHS C9 Server Files

Status
Not open for further replies.
Experienced Elementalist
Joined
Jan 21, 2015
Messages
235
Reaction score
202
some data extracted by me about C9U

File usage:
c9u files contain an object(not xml but object) that define and control the UI of the game such as button,panels

what contain ?

*1- class name of object (ex: Radiobutton_Tab_type_3)
2- texture file -some time repeated three time so i assume its state texture for [static-hover-active] (ex: AOS_CreateCharacter.dds)
3- target texture name
*4- target texture props -from selected dds- x,y,width,height (cut the target texture from spritesheet)
================update===============
here is a picture demonstrate the result i got from [UI_Brightness_ComboButton.C9U]
Divin3 - [RELEASE] CHS C9 Server Files - RaGEZONE Forums
and here the c9u file and associated dds that i use:

================end update=============
*5- object coords in panel- x,y
*6- triggered sound when event happened like click -can have more than on sound file- (ex: CLICK_02.wav)
7- font type (ex: BaseFont)
8- maybe other unknown data

some info about previous data (which have * prefix)

1- usually file start with object identifier "Panel_XXXXXXXX", and until now i saw that each c9u file contain one panel but i'm still digging on files so maybe the one file can contain more than one panel , also as the file started usually with "Panel_XXXXXXXX" so i assumed that it's parent which next indentifiers are child object of "Panel_XXXXXXXX" like the identifiers:Static_Box_Effect, Static_Inven_Item_0, Button_Maching

4- the selected DDS file are mostly like spritesheet (a spritesheet is one image contain multiple texture grouped in one picture)
so of course there are some values which specify which sprite(texture) we want so of course there are X,Y,Width,Height for it

5- as i assumed above that the panel is the parent and have childs so there should be an X,Y Coords that define where to place the child object according to parent panel

6-a child object may have more than one sound file.

========================================

that all until now if i found something new i will edit this post :)
 
Last edited:
Experienced Elementalist
Joined
Jan 21, 2015
Messages
235
Reaction score
202
===================================================================
About guild war who doesn't have this server option guild war won't work and will show to u
guild war server not found
or
guild war server not connected

add this lines to your config :)

<!-- GBS -->
<Server Param="ServerType=Game ServerNo=16 IP=127.0.0.1 PublicIP=127.0.0.1 TcpPort=10516 ChannelNo=1 GameServerType=GBS MapKey=143 MaxUser=4000 Community=0 Auction=0 ChatLog=1 LogServer=1 DataCache=1 LogFile=1 LogConsole=1 LogLevel=8 Autoblock=0 Threshold=0 PcTradeThreshold=0 " />

then add this to your start bat file

start C9GameServer.exe 16

=======================================
about ContentSwitches tag in serverBaseConfig
here is the full option of it :)

<ContentSwitches UseInGameShop="TRUE" UseNpcShop="TRUE" UsePersonalStore="TRUE" UsePcTrade="TRUE" UseMail="TRUE" UsePcWarehouse="TRUE" UseGuildWarehouse="TRUE" UseSpecialItem="TRUE" UseItemRepair="TRUE" UseItemEnchant="TRUE" UseItemPickup="TRUE" UseAutoBlock="FALSE" UseCashStore="TRUE" UseAdventureBook="TRUE" UseDailyWork="TRUE" UseBigbonus="TRUE" UsePetSystem="TRUE" />
 
Experienced Elementalist
Joined
Jan 21, 2015
Messages
235
Reaction score
202
a Post From LastFun

lastFun said:
...a voice from the ban )))....


Hi guys)
It's me again ...
I finished writing a small function in gameserver.
Check it:
Divin3 - [RELEASE] CHS C9 Server Files - RaGEZONE Forums


edit_exp -
C9GameServer -
Use:
1. Put edit_exp.exe in the folder with the C9GameServer.exe
2. Everything is clear ;)


gameserver editing program (edit_exp), i wrote in the blind (does not start after the patch) - errors are possible ...



Code:
search
================
CPU Disasm
Address   Hex dump          Command                                  Comments
........  |. /75 0A         JNE SHORT 00D3F341
........  |. |3B48 58       CMP ECX,DWORD PTR DS:[EAX+58]
........  |. |C64424 16 01  MOV BYTE PTR SS:[LOCAL.18+2],1
........  |. |7D 05         JGE SHORT 00D3F346
........  |> \C64424 16 00  MOV BYTE PTR SS:[LOCAL.18+2],0
........  |>  8BBE F0020000 MOV EDI,DWORD PTR DS:[ESI+2F0]
........  |.  8B9E F4020000 MOV EBX,DWORD PTR DS:[ESI+2F4]
........  |.  8B5424 18     MOV EDX,DWORD PTR SS:[LOCAL.17]
........  |.  8BC7          MOV EAX,EDI
........  |.  034424 2C     ADD EAX,DWORD PTR SS:[LOCAL.12]
........  |.  8BCB          MOV ECX,EBX
......NN  |.  134C24 30     ADC ECX,DWORD PTR SS:[LOCAL.11]
=================


go to edit exp:
=================
....NN+1      54            PUSH ESP
........      E9 D7DB3600   JMP XXXXXXXX
ZZZZZZZZ      5C            POP ESP
=================


edit exp:
=================
XXXXXXXX      5C            POP ESP
........      8B44E4 24     MOV EAX,DWORD PTR SS:[ESP+24]    //old rate  '1addr
........      54            PUSH ESP
........      BB 64000000   MOV EBX,64                       //factor
........      0FAFC3        IMUL EAX,EBX                     //old rate x factor
........      89C3          MOV EBX,EAX
........      895CE4 28     MOV DWORD PTR SS:[ESP+28],EBX    //push new rate '2addr = 1addr (need for correct display of the client)
........      89F8          MOV EAX,EDI
........      01D8          ADD EAX,EBX       //rate (which has already been) + new rate
........      5C            POP ESP
........      C644E4 17 00  MOV BYTE PTR SS:[ESP+17],0       //the tail of the insert JMP XXXXXXXX
........      134CE4 28     ADC ECX,DWORD PTR SS:[ESP+28]    //the tail of the insert JMP XXXXXXXX
........      54            PUSH ESP
........    ^ E9 0124C9FF   JMP ZZZZZZZZ


p.s. If you are interested i geymserver patch - see:"
gameserver
thx)))
 
Last edited:
Elite Diviner
Joined
May 15, 2009
Messages
403
Reaction score
414
I manage to sync this C9 Tencent client (20131) to our server and this is the result




I cut some function in gameserver.exe regarding some check of files like CharacterAction_* this is not recommended to do I think.. I wonder why the server also checking client characteractions? its just stressing the module..


here is the GameData & MapData files from Tencent 2000-20131 patch


if you paste it only gameserver will not load because it will stop in reading the file like CharacterAction_* ... Jumping the check function can bypass but I'm not sure if its okey..

Offset
00E2950E JNZ SHORT 00E29560 -> JMP SHORT 00E29560
 
Last edited:
Newbie Spellweaver
Joined
Sep 11, 2015
Messages
77
Reaction score
42
I manage to sync this C9 Tencent client (20131) to our server and this is the result




I cut some function in gameserver.exe regarding some check of files like CharacterAction_* this is not recommended to do I think.. I wonder why the server also checking client characteractions? its just stressing the module..


here is the GameData & MapData files from Tencent 2000-20131 patch


if you paste it only gameserver will not load because it will stop in reading the file like CharacterAction_* ... Jumping the check function can bypass but I'm not sure if its okey..

Offset
00E2950E JNZ SHORT 00E29560 -> JMP SHORT 00E29560


nice.
but who you jump the offset?
 
Newbie Spellweaver
Joined
Nov 20, 2015
Messages
5
Reaction score
0
Hello guy. There some good news from @lastfun and i share his message in this post.
(Him will back to this c9 thread soon...)

Thanks for the c9 rename by lastfun. however im having an error with it :( what am I missing?

Divin3 - [RELEASE] CHS C9 Server Files - RaGEZONE Forums


Details below:

See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.


************** Exception Text **************
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {6BF52A52-394A-11D3-B153-00C04F79FAA6} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at c9_r_w.Form1.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)




************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
c9_r_w
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///F:/C9/C9%20CLIENT/c9_rename.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------


************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.


For example:


<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>


When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
 
Junior Spellweaver
Joined
Feb 28, 2013
Messages
162
Reaction score
34
I manage to sync this C9 Tencent client (20131) to our server and this is the result




I cut some function in gameserver.exe regarding some check of files like CharacterAction_* this is not recommended to do I think.. I wonder why the server also checking client characteractions? its just stressing the module..


here is the GameData & MapData files from Tencent 2000-20131 patch


if you paste it only gameserver will not load because it will stop in reading the file like CharacterAction_* ... Jumping the check function can bypass but I'm not sure if its okey..

Offset
00E2950E JNZ SHORT 00E29560 -> JMP SHORT 00E29560

GS stop reading the file is because of lacking files in Player folder's cfs.
After yo unpack that cfs and compare to original files,you will know.
 
Initiate Mage
Joined
Aug 26, 2015
Messages
1
Reaction score
0
Guys help !! When i try to run the client it always say "Login failed Initialize" How to run my client ? im using .bat includes c9.exe IP,10721,


NVM i did fix the problem i run the game thanks :)
 
Last edited:
Experienced Elementalist
Joined
Sep 13, 2014
Messages
232
Reaction score
86



PHP Register with security sql injection
 
Experienced Elementalist
Joined
Jan 21, 2015
Messages
235
Reaction score
202
can i play, without installing the server files on a virtual machine????
there is a thread , ask there not here

also about ur question

can a man live with his brain or without his heart ?
the answer for this question is the same answer for urs
 
Initiate Mage
Joined
Nov 30, 2015
Messages
2
Reaction score
7
Go to page 5 on the same post, member "Zhade" did a search on .c9t file :


Maybe can help .c9t

Hey I am the guy from the xentax forum. I wrote a program to convert the GameData.c9t to a readable cvs format. But I only have some korean GameData.c9t.
From what I can see, its mostly localization strings. Such as class names, monster names, NPC names, item names etc. The corresponding ids might be the actual item/class ids though, don't know.

Can anyone upload the ENG_GameData.c9t which is inside GameData/Msg/ENG/ENG.cfs so I can test if it works with it? Will post the source afterwards. Thanks!
 
Elite Diviner
Joined
May 15, 2009
Messages
403
Reaction score
414
Hey I am the guy from the xentax forum. I wrote a program to convert the GameData.c9t to a readable cvs format. But I only have some korean GameData.c9t.
From what I can see, its mostly localization strings. Such as class names, monster names, NPC names, item names etc. The corresponding ids might be the actual item/class ids though, don't know.

Can anyone upload the ENG_GameData.c9t which is inside GameData/Msg/ENG/ENG.cfs so I can test if it works with it? Will post the source afterwards. Thanks!


Contains:
ENG_GameData.c9t from global C9 (Webzen)
CHI_GameData.c9t from chinese C9 (Tencent)
 
Initiate Mage
Joined
Nov 30, 2015
Messages
2
Reaction score
7

Contains:
ENG_GameData.c9t from global C9 (Webzen)
CHI_GameData.c9t from chinese C9 (Tencent)

Appreciated.
Here are the parsed files:
Source for the program:

The categories are manually named by looking at the strings in each category, so they're by all means not official. If you know to what they belong to feel free to rename.

Sad to say, I still haven't figured out how the format really works. It makes sense to display them as spreadsheet rows: an id followed by a number of strings. Each category seems to have their own format or number of strings respectively, but that info is nowhere saved in the file and I don't want to search for it in some other file or in the client.
Thats why this is pretty much a bruteforced way of parsing and will most likely not work for older, newer and definitely not other c9t files.

Also the strings seem to be just localization strings. Perhaps the ids correspond to the item / class ids inside the database. But I leave that obversation to you. Good luck.
 
Status
Not open for further replies.
Back
Top