TCoS-Rebirth / tcos-server

Early Server implementation
3 stars 0 forks source link

Reverse and export navigation data #7

Open TCoS-Saltiel opened 10 years ago

TCoS-Saltiel commented 10 years ago

Reverse the SBWorldPortal and Playerstart unreal classes in package files in order to export the relevant data for the server (location of world portal, player spawns).

JW-NL commented 10 years ago

With the rewritten , (or converted map file via my tool) you should be able to see the properties of the SBWorldportal of for example Hawksmouth.with the UTPT. I did some tests with the client and didn't see any packets going from client to server if moving to or through a portal or door, just the movement / mouse look packets.

In discussion with Acid we came to the conclusion that the teleport data for going into the tavern, Forge, shops etc is in the map files but not activated correctly. those in-map teleports should be done by the engine itself normally and after the player is moved to the new location the server gets the new location as soon as the player is moving inside the tavern.

For example a few locations to test in the map of Hawksmouth: the tavern entrance north (The guilded leaf) at -190134, -160310, 6377 Spirit shop entrance inside -205090, 2922, 4161 Spirit shop exit outside -12648. -11709, 7896 Forge entree -193349, 2458, 4139 Forge exit -9501, -11996, 7373

With the Ushock program we were able to move through the maps and see the different locations which were normally hidden, but now we know the right locations and with the possible pawn location setting it's possible to check the value's.

Hope this helps. J-W.

Flavelius commented 10 years ago

It looks very much that way: the triggers have to be spawned/relevance-linked by the server and the tavern-doors/mailboxes relevance-linked/activated. Then the player can be teleported by the server (when he knows where the player wants to go)

TCoS-Saltiel commented 10 years ago

Yep, all the triggers have to be activated via the server. For the world portals I am hesitating. There is a packet about world travel but we can imagine that the server detects when a player is inside a portal. Reversing the data should help to know which ids send through the server packet in order to activate the interactive level elements etc.

AcidBurnElite commented 9 years ago

From what I recall, some of the portal triggers are partly activated by triggered rules. For example:

  1. The portal from Hawksmouth to Aldenvault was triggered by Level. (The freemium mode restricted the player to hawksmouth only.)
  2. The NPC at the docks from Hawksmouth that allowed the travel to other shards, allowed only the passage upon completion of a specific quest.

Therefore I suspect that the trigger to spawn the mobs, npc's , etc, depends on the completion of the tutorial because by then you had gained a level or two and had spawned with gear to and weapons to handle the world.

TCoS-Saltiel commented 9 years ago

Very interesting! I totally forgot that. Still, the problem of the tavern's doors and mailboxes remains, I should point the function I found just have to find it again since I did not made any reverse since a few weeks.