Customize Silkroad Online server files (v1.188) behavior through DLL injection.
- Easy to inject using Stud_PE
- Patch values from memory directly
- Define all options from their respective config file
- Execute actions from Gameserver (to support N modules, N tables will be created)
- Make a backup from your
SR_GameServer.exe
andSR_ShardManager.exe
just in case something goes wrong - Download, install, and execute Stud_PE
- Extract
vSRO-ServerAddon.bin.zip
to the folder where your server files are located - Drag & drop
SR_GameServer.exe
into Stud_PE - Go to
Functions
tab, right click into any line at left blue panel and clickAdd New Import
- Click
Dll Select
and findvSRO-GameServer.dll
- Click
Select func
and select the one there, thenOK
- Click
Add to list
and clickADD
, thenOK
- Done! Just repeat Step 4 to 8 using
SR_ShardManager.exe
andvSRO-ShardManager.dll
Execute gameserver actions in realtime with a simple INSERT
query into SRO_VT_SHARD.dbo._ExeGameServer
which is created automatically if doesn't exist.
- Adds item(s) to the inventory from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param01, -- CodeName
Param02, -- Amount
Param03, -- Random stats (0 = Clean, 1 = Random)
Param04 -- Plus
)
VALUES
(
1,
'JellyBitz',
'ITEM_EU_SWORD_01_A',
1,
0,
3
);
- Updates the gold amount from player by increasing (positive) or decreasing (negative)
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- Gold Offset
)
VALUES
(
2,
'JellyBitz',
10000000 -- Increase by 10m
);
- Updates the Hwan level (Berserk title) from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- HWAN level
)
VALUES
(
3,
'JellyBitz',
6 -- "Duke"
);
- Moves the player to the position on map
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02, -- Region Id
Param03, -- PosX
Param04, -- PosY
Param05 -- PosZ
)
VALUES
(
4,
'JellyBitz',
25000,
0,
0,
0
);
- Moves the player to the position on map through game world id
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02, -- GameWorldId
Param03, -- Region Id
Param04, -- PosX
Param05, -- PosY
Param06 -- PosZ
)
VALUES
(
5,
'JellyBitz',
1, -- Default Map
25000,
0,
0,
0
);
- Drops an item near player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param01, -- CodeName
Param02, -- Amount
Param03 -- Plus
)
VALUES
(
6,
'JellyBitz',
'ITEM_EU_SWORD_01_A',
1,
3
);
- Transform an item to another one from inventory slot specified
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param01, -- New item CodeName
Param02 -- Inventory slot
)
VALUES
(
7,
'JellyBitz',
'ITEM_EU_SWORD_02_A',
13 -- First inventory slot
);
- Force reloading the player information by teleporting it on the same place
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16
)
VALUES
(
8,
'JellyBitz'
);
- Adds a buff to the player. The duration will not be lost through teleports
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02, -- Skill Id (buffs only)
Param03 -- Duration (seconds)
)
VALUES
(
9,
'JellyBitz',
8594, -- Ultimate screen (Lv.90)
30 -- 30 seconds
);
- Creates a mob in the map position
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02, -- RefObjId
Param03, -- Region Id
Param04, -- PosX
Param05, -- PosY
Param06 -- PosZ
)
VALUES
(
10,
'',
1954, -- Tiger Woman
24744, -- Jangan (S)
968,
-27,
1114
);
- Creates a mob in the map position through game world id
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02, -- RefObjId
Param03, -- GameWorldId
Param04, -- Region Id
Param05, -- PosX
Param06, -- PosY
Param07 -- PosZ
)
VALUES
(
11,
'',
1947, -- tiger
1, -- Default Map
24744, -- Jangan (S)
968,
-27,
1114
);
- Set body state from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- Body State (0 = None, 1 = Berserk, 2 = Untouchable, 3 = GMInvincible, 4 = GMUntouchable, 5= GMInvisible, 6 = Stealth, 7 = Invisible)
)
VALUES
(
12,
'JellyBitz',
1
);
- Updates the skill points
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- Skill points
)
VALUES
(
13,
'JellyBitz',
1000 -- Increase 1k SP
);
- Changes the guild grantname from the player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param01 -- GrantName
)
VALUES
(
14,
'JellyBitz',
'Jelly'
);
- Set the life state from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- Life State (0 = Dead, 1 = Alive)
)
VALUES
(
15,
'JellyBitz',
0 -- Dead
);
- Updates level experience from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- Level Experience
)
VALUES
(
16,
'JellyBitz',
1000000 -- Increase experience by 1m
);
- Add skill points experience to player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- Skill Points Experience
)
VALUES
(
17,
'JellyBitz',
1000000 -- Increase experience by 1m (equivalent to 2500 SP)
);
- Updates PVP cape type from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02 -- PVP Type (0 = None, 1 = Red, 2 = Gray, 3 = Blue, 4 = White, 5 = Yellow)
)
VALUES
(
18,
'JellyBitz',
5 -- Yellow (All are enemies)
);
- Reduces health and/or mana points from player
INSERT INTO [SRO_VT_SHARD].[dbo].[_ExeGameServer]
(
Action_ID,
CharName16,
Param02, -- HP reduced
Param02 -- MP reduced
)
VALUES
(
19,
'JellyBitz',
5000, -- Reducing HP only
0
);
UNKNOWN = 0
SUCCESS = 1
ACTION_UNDEFINED = 2
UNNEXPECTED_EXCEPTION = 3
PARAMS_NOT_SUPPLIED = 4
CHARNAME_NOT_FOUND = 5
FUNCTION_ERROR = 6
For visualizing some server files changes on game client, a few ASM editions are required in your client. Check it out..
Support me! Buy me a coffee
- Elitepvpers ASM/C++ coders leaving source codes and ideas to create this stuff