Difference between revisions of "Configuring Poseidon for vRO"

From OpenKore Wiki
Jump to navigation Jump to search
(Created page with "'''Note:''' You can read how Poseidon works in this article. This article will help you run OpenKore on vRO server. == Preparation stage == === Сonfiguring Rag...")
 
Line 1: Line 1:
 
'''Note:''' You can read how Poseidon works in [[Poseidon|this article]].
 
'''Note:''' You can read how Poseidon works in [[Poseidon|this article]].
  
This article will help you run OpenKore on vRO server.
+
This article will help you run OpenKore on vRO server. GameGuard protection is configured in "light mode", so you can run all components on one computer (Poseidon server, Ragnarok client, OpenKore).
  
 
== Preparation stage ==
 
== Preparation stage ==
Line 8: Line 8:
 
# Extract <code>clientinfo.xml</code> from you Ragnarok client <code>data.grf</code> file (use GRF Editor [https://www.mediafire.com/file/aflylbhblrzpz0h/GRF_Editor_v1.8.4.1.zip/file]):
 
# Extract <code>clientinfo.xml</code> from you Ragnarok client <code>data.grf</code> file (use GRF Editor [https://www.mediafire.com/file/aflylbhblrzpz0h/GRF_Editor_v1.8.4.1.zip/file]):
 
#: [[File:grfeditorextract.png]]
 
#: [[File:grfeditorextract.png]]
# Rename it to <code>poseidon.xml</code> and place in <code>ragnarok/data</code> directory:
+
# Rename it to <code>poseidon.xml</code> and place in <code>ragnarok\data</code> directory:
 
#: [[File:renameposeidonxml.png]]
 
#: [[File:renameposeidonxml.png]]
 
# In the folder with the Ragnarok client create a new <code>!Poseidon.bat</code> file with the following content:
 
# In the folder with the Ragnarok client create a new <code>!Poseidon.bat</code> file with the following content:
Line 14: Line 14:
 
# Open <code>poseidon.xml</code> using any text editor (Recommended Notepad++[https://notepad-plus-plus.org/downloads/]):
 
# Open <code>poseidon.xml</code> using any text editor (Recommended Notepad++[https://notepad-plus-plus.org/downloads/]):
 
#* change <code>address</code> to your Poseidon server address (<code>127.0.0.1</code> or <code>localhost</code> for same computer). If your clientinfo.xml has the <code>domain</code> tag, change it to <code>ip:port</code> (<code>ex: 127.0.0.1:6900</code>)
 
#* change <code>address</code> to your Poseidon server address (<code>127.0.0.1</code> or <code>localhost</code> for same computer). If your clientinfo.xml has the <code>domain</code> tag, change it to <code>ip:port</code> (<code>ex: 127.0.0.1:6900</code>)
#:'''Note:''' this address must match the <code>ragnarokserver_ip</code> value from the <code>control/poseidon.txt</code> file
+
#:'''Note:''' this address must match the <code>ragnarokserver_ip</code> value from the <code>control\poseidon.txt</code> file
 
#* change <code>port</code> to <code>6900</code>
 
#* change <code>port</code> to <code>6900</code>
#:'''Note:''' this address must match the <code>ragnarokserver_port</code> value from the <code>control/poseidon.txt</code> file
+
#:'''Note:''' this address must match the <code>ragnarokserver_port</code> value from the <code>control\poseidon.txt</code> file
 
#* change <code>display</code> to <code>PoseidonRO</code> connection and your original.
 
#* change <code>display</code> to <code>PoseidonRO</code> connection and your original.
 
#: [[File:RenamePoseidonXML_vRO.png]]
 
#: [[File:RenamePoseidonXML_vRO.png]]
Line 45: Line 45:
 
=== Configuring Poseidon Server ===
 
=== Configuring Poseidon Server ===
  
Go to <code>control/poseidon.txt</code>:
+
Go to <code>control\poseidon.txt</code>:
* make sure that the values of the <code>ragnarokserver_ip</code> and <code>ragnarokserver_port</code> parameters matches the values that you specified in the <code>data/poseidon.xml</code> file in the "Configuring Ragnarok Client"  
+
* make sure that the values of the <code>ragnarokserver_ip</code> and <code>ragnarokserver_port</code> parameters matches the values that you specified in the <code>data\poseidon.xml</code> file in the "Configuring Ragnarok Client"  
 
: '''Note:''' this address and port is used by the Ragnarok Client to connect to the fake PoseidonRO server
 
: '''Note:''' this address and port is used by the Ragnarok Client to connect to the fake PoseidonRO server
 
* change the values of <code>queryserver_ip</code> and <code>queryserver_port</code> if necessary or use the default values
 
* change the values of <code>queryserver_ip</code> and <code>queryserver_port</code> if necessary or use the default values
 
: '''Note:''' this address and port is used by the OpenKore to connect to the PoseidonRO server
 
: '''Note:''' this address and port is used by the OpenKore to connect to the PoseidonRO server
* change <code>server_type=Default</code> to your server. (list available at <code>src/Poseidon/servertypes.txt</code>)
+
* change <code>server_type=Default</code> to your server. (list available at <code>src\Poseidon\servertypes.txt</code>)
 
: '''Note:''' use <code>server_type=vRO_2021-07-07</code> for vRO server
 
: '''Note:''' use <code>server_type=vRO_2021-07-07</code> for vRO server
 
::: [[File:poseidonservertype.png|950px]]
 
::: [[File:poseidonservertype.png|950px]]
  
Example <code>control/poseidon.txt</code> file for vRO server:
+
Example <code>control\poseidon.txt</code> file for vRO server:
 
  # Ragnarok Server
 
  # Ragnarok Server
 
  ragnarokserver_ip=127.0.0.1
 
  ragnarokserver_ip=127.0.0.1
Line 69: Line 69:
  
 
=== Configuring OpenKore ===
 
=== Configuring OpenKore ===
1. Make sure your server connection settings have "[[gameGuard|gameGuard 1]]" (check <code>tables/servers.txt</code>).
+
1. Make sure your server connection settings have "[[gameGuard|gameGuard 1]]" (check <code>tables\servers.txt</code>).
  https://vtcgame.vn/<br>[Vietnam - vRO]
+
# https://vtcgame.vn/<br>[Vietnam - vRO]
 
  ip roacc1.vtcgame.vn
 
  ip roacc1.vtcgame.vn
 
  port 6900
 
  port 6900
Line 85: Line 85:
 
  itemListType 1
 
  itemListType 1
  
2. Make sure that the values of the <code>poseidonServer</code> and <code>poseidonPort</code> parameters in the <code>control/config.txt</code> file match to the <code>queryserver_ip</code> and <code>queryserver_port</code> values from the <code>control/poseidon.txt</code> file.
+
2. Make sure that the values of the <code>poseidonServer</code> and <code>poseidonPort</code> parameters in the <code>control\config.txt</code> file match to the <code>queryserver_ip</code> and <code>queryserver_port</code> values from the <code>control\poseidon.txt</code> file.
  
== Launch stage ==
+
3. The vRO server uses a non-standard authorization mechanism, so you have to enable a special "[https://github.com/OpenKore/openkore/tree/master/plugins/vRO_auth vRO_auth.pl]" plugin. Open the <code>control\sys.txt</code> file and add a new plugin to the [[loadPlugins_list]] (for example: <code>loadPlugins_list macro, profiles, breakTime, raiseStat, raiseSkill, map, reconnect, eventMacro, item_weight_recorder, xconf, vRO_auth</code>)
  
=== PoseidonRO fake server launch ===
+
== Launch stages ==
# Start <code>start-poseidon.exe</code> or <code>src/Poseidon/poseidon.pl</code> from the OpenKore folder, wait for message 'Poseidon initialized'.
+
 
 +
=== Launching a fake PoseidonRO server ===
 +
# Start <code>start-poseidon.exe</code> or <code>src\Poseidon\poseidon.pl</code> from the OpenKore folder, wait for message:
 +
#: <code>>>> Poseidon 3.0 initialized</code>
 
#: [[File:initializedposeidon.png]]
 
#: [[File:initializedposeidon.png]]
 +
 +
 +
=== Launching a Ragranok client ===
 
# Start the <code>!Poseidon.bat</code> file from the Ragnarok client folder:
 
# Start the <code>!Poseidon.bat</code> file from the Ragnarok client folder:
#: [[File:StartRagexe.png|950px]]
+
#: [[File:StartRagexe.png|1080px]]
#: '''Note:''' in the Ragnarok client window, you should see "Poseidon server". In the Poseidon console, you should see messages that the game client has connected: "[RagnarokServer]-> Ragnarok Online client (5) connected."
+
#: '''Note:''' in the Ragnarok client window, you should see "Poseidon server". In the Poseidon console, you should see messages that the game client has connected:
 +
#::: <code>[RagnarokServer]-> Ragnarok Online client (5) connected.</code>
 +
# Select "Poseidon service", then select the "Poseidon" player:
 +
#: [[File:SelectCharacter_vRO.png]]
 +
# You should appear in Novice Training Center and be able to see and talk with NPC. You will not be able to walk or do anything other than talking with NPC:
 +
#: [[File:MapServer_vRO.png|1080px]]
 +
 
 +
 
 +
=== Launching an Openkore ===
 +
# Start OpenKore (start.exe, wxstart.exe or openkore.pl). OpenKore must connect directly to the Ragnarok server (not to the fake Poseidon server!)
 +
# In a few seconds the Ragnarok server will send a "GameGuard request". OpenKore should forward this request to the fake Poseidon server. In the Poseidon console, you should see the following messages:
 +
[PoseidonServer]-> New Bot Client Connected : 6
 +
[PoseidonServer]-> Received query from bot client 6
 +
[PoseidonServer]-> Querying Ragnarok Online client [13:42:19]...
 +
[PoseidonServer]-> Sent result to client : 6
 +
[PoseidonServer]-> Bot Client Disconnected : 6
 +
:: [[File:poseidon_OpenKore.png|1080px]]

Revision as of 11:02, 24 October 2021

Note: You can read how Poseidon works in this article.

This article will help you run OpenKore on vRO server. GameGuard protection is configured in "light mode", so you can run all components on one computer (Poseidon server, Ragnarok client, OpenKore).

Preparation stage

Сonfiguring Ragnarok Client

  1. Extract clientinfo.xml from you Ragnarok client data.grf file (use GRF Editor [1]):
    grfeditorextract.png
  2. Rename it to poseidon.xml and place in ragnarok\data directory:
    renameposeidonxml.png
  3. In the folder with the Ragnarok client create a new !Poseidon.bat file with the following content:
    start Ragexe.exe 1rag1 User=test Token=test BToken=test /account:poseidon.xml
  4. Open poseidon.xml using any text editor (Recommended Notepad++[2]):
    • change address to your Poseidon server address (127.0.0.1 or localhost for same computer). If your clientinfo.xml has the domain tag, change it to ip:port (ex: 127.0.0.1:6900)
    Note: this address must match the ragnarokserver_ip value from the control\poseidon.txt file
    • change port to 6900
    Note: this address must match the ragnarokserver_port value from the control\poseidon.txt file
    • change display to PoseidonRO connection and your original.
    RenamePoseidonXML vRO.png

Example of edited clientinfo:

<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
	<desc>Vietnam SelfService Server</desc>
	<servicetype>vietnam</servicetype>
	<servertype>primary</servertype>
	<hideaccountlist></hideaccountlist>
	<extendedslot></extendedslot>
	
	<connection>
		<display>PoseidonRO</display>
		<desc>None</desc>
		<domain>127.0.0.1:6900</domain>
		<port>6900</port>
		<version>1</version>
		<langtype>15</langtype>
		<registrationweb>https://ro.vtcgame.vn/</registrationweb>
		<aid>
			<admin>100007</admin><admin>100022</admin><admin>100045</admin><admin>101665</admin><admin>101664</admin><admin>101645</admin>
		</aid>
	</connection>
</clientinfo>

Configuring Poseidon Server

Go to control\poseidon.txt:

  • make sure that the values of the ragnarokserver_ip and ragnarokserver_port parameters matches the values that you specified in the data\poseidon.xml file in the "Configuring Ragnarok Client"
Note: this address and port is used by the Ragnarok Client to connect to the fake PoseidonRO server
  • change the values of queryserver_ip and queryserver_port if necessary or use the default values
Note: this address and port is used by the OpenKore to connect to the PoseidonRO server
  • change server_type=Default to your server. (list available at src\Poseidon\servertypes.txt)
Note: use server_type=vRO_2021-07-07 for vRO server
poseidonservertype.png

Example control\poseidon.txt file for vRO server:

# Ragnarok Server
ragnarokserver_ip=127.0.0.1
ragnarokserver_port=6900

# Query Server
queryserver_ip=0.0.0.0
queryserver_port=24390

# Server Type
server_type=vRO_2021-07-07

debug=0

Configuring OpenKore

1. Make sure your server connection settings have "gameGuard 1" (check tables\servers.txt).

# https://vtcgame.vn/
[Vietnam - vRO] ip roacc1.vtcgame.vn port 6900 master_version 26 version 1 serverType vRO serverEncoding Western addTableFolders vRO charBlockSize 155 pinCode 1 gameGuard 1 blockingPlayerCancel 1 storageEncryptKey 0x050B6F79, 0x0202C179, 0x00E20120, 0x04FA43E3, 0x0179B6C8, 0x05973DF2, 0x07D8D6B, 0x08CB9ED9 itemListType 1

2. Make sure that the values of the poseidonServer and poseidonPort parameters in the control\config.txt file match to the queryserver_ip and queryserver_port values from the control\poseidon.txt file.

3. The vRO server uses a non-standard authorization mechanism, so you have to enable a special "vRO_auth.pl" plugin. Open the control\sys.txt file and add a new plugin to the loadPlugins_list (for example: loadPlugins_list macro, profiles, breakTime, raiseStat, raiseSkill, map, reconnect, eventMacro, item_weight_recorder, xconf, vRO_auth)

Launch stages

Launching a fake PoseidonRO server

  1. Start start-poseidon.exe or src\Poseidon\poseidon.pl from the OpenKore folder, wait for message:
    >>> Poseidon 3.0 initialized
    initializedposeidon.png


Launching a Ragranok client

  1. Start the !Poseidon.bat file from the Ragnarok client folder:
    StartRagexe.png
    Note: in the Ragnarok client window, you should see "Poseidon server". In the Poseidon console, you should see messages that the game client has connected:
    [RagnarokServer]-> Ragnarok Online client (5) connected.
  2. Select "Poseidon service", then select the "Poseidon" player:
    SelectCharacter vRO.png
  3. You should appear in Novice Training Center and be able to see and talk with NPC. You will not be able to walk or do anything other than talking with NPC:
    MapServer vRO.png


Launching an Openkore

  1. Start OpenKore (start.exe, wxstart.exe or openkore.pl). OpenKore must connect directly to the Ragnarok server (not to the fake Poseidon server!)
  2. In a few seconds the Ragnarok server will send a "GameGuard request". OpenKore should forward this request to the fake Poseidon server. In the Poseidon console, you should see the following messages:
[PoseidonServer]-> New Bot Client Connected : 6
[PoseidonServer]-> Received query from bot client 6
[PoseidonServer]-> Querying Ragnarok Online client [13:42:19]...
[PoseidonServer]-> Sent result to client : 6
[PoseidonServer]-> Bot Client Disconnected : 6
poseidon OpenKore.png