The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Forcing Orion Client
Author Message
Fronz
Apprentice
*

Posts: 36
Likes Given: 2
Likes Received: 0 in 0 posts
Joined: Apr 2016
Reputation: 0



Post: #1
Forcing Orion Client
Hi,

We currently have a live server on 0.56b.

We have some problems regarding new clients using functions like "Ignore Stamina Check" and FPS Patch.

We want to make the transition to Orion, but we want to enforce everyone to use it because that way we can control, to some extend, what the players do.

Is there a way to force Orion Client on my shard?! Updating the Sphere to a newer version would be really difficult at this point.

I've searched Orion discord and the closest I come to was a suggestion to use a packet and then this link. I'm not sure how to or where to start.

shorturl.at/ixBFW


I'd really appreciate the help,
Fronz
(This post was last modified: 05-19-2020 11:56 AM by Fronz.)
05-19-2020 11:38 AM
Find all posts by this user Like Post Quote this message in a reply
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #2
RE: Forcing Orion Client
The 1st rule of security is implement all security checks at server-side and never trust on what comes from client-side

You can find if this client have some specific encrypt key to enable this key on spherecrypt.ini and disable all others keys, but this can be easily faked using some client launcher that can report to server an fake client version with fake encryption key

You can also check if this client send some specific packet to server to report that it's an "orion client" but this also can be easily faked if someone find the packet number to send it manually using any other client

So unfortunately the best way to keep your server secure is using the latest sphere version with latest security fixes to keep it safe at server-side level
05-24-2020 09:06 AM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes Coruja's post
Fronz
Apprentice
*

Posts: 36
Likes Given: 2
Likes Received: 0 in 0 posts
Joined: Apr 2016
Reputation: 0



Post: #3
RE: Forcing Orion Client
I understand. And the people playing on my shard they would definitely find a way to find the packet number.
Updating the sphere version is definitely on the "To do" list.

One more question, Orion has a feature called Fast Rotation. It ignores that small delay when changing directions and it gives players that use it more advantage, you end up further than a player not using that client. You can see what I'm talking about in this video.

https://www.youtube.com/watch?v=rx6YgAYlSdo

Since we made Orion available, everyone is using Fast Rotation, so we don't have that problem.

But now LOS is not a certain thing. During an active fight where players run and try to hide behind obstacles, most of the times, the spells go through. My thinking is that Sphere thinks Orion players are in one position when in reality they are in another.

Would updating to a newer Sphere prevent such features like Fast Rotation as well?

A lot of features from newer clients are ruining the gameplay of our almost 20 years old shard lol.

Just another example, everyone in this fight is not using Fast Rotation, with the exception of Xtreme (Blue Robe and Black Helm). Try to follow him with your eyes and watch the skips he does.

https://www.youtube.com/watch?v=cjX5znQ84pw

Thank you!
(This post was last modified: 06-04-2020 12:38 PM by Fronz.)
06-02-2020 12:21 PM
Find all posts by this user Like Post Quote this message in a reply
Jhobean
Journeyman
*

Posts: 98
Likes Given: 11
Likes Received: 9 in 3 posts
Joined: Jun 2019
Reputation: 2



Post: #4
RE: Forcing Orion Client
The way to solve this is send a packet to the client and wait for his respond. If you dont have the good answer you disconnect the player.
For working, the packet must be know only for you and the client dev.

I made a the beggining with hotride on orion about this. He suggest me send this packet:

or sphere, Orion version request:
sendpacket B0BF W0007 W0FACE W0034
https://github.com/Hotride/OrionUO/wiki/...ionversion

Answer will be:
B0BF W000B W0FACE W0034 D0V1V2V3V4

Where V1 V2 V3 V4 - version bytes
At now - yes, always 1.0.0.0

That will work for a little time until other client dev add this to their code too.

I found all this but I dont know how receive a packet and lauch a fonction....

If someone can help me to receive packet, i'll want to implement this "force orion system" too.

https://www.uocryptonite.com/
06-11-2020 01:54 PM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes Jhobean's post
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #5
RE: Forcing Orion Client
You can use packet filter, I don't remember exactly, but I think you just need to write PACKETx=f_something on sphere.ini to make sphere always call this function when it receive this packet

Eg: 0B (hex) is 11 (dec) so you must use PACKET11=f_client_version

[FUNCTION f_client_version]
...

Quote:11-04-05, Vjaka
- Packet filtering support heavily expanded. Now you have these variables:
LOCAL.NUM (value) set to amount of data got from the packet
LOCAL.STR (string) all data threated as a string (aware of zero chars)
LOCAL.ACCOUNT (string) current active account if any is logged by the client
LOCAL.CHAR (uid) current active char if any is logged in from the client
and the all data is now given in LOCAL.x, not the only first 10 bytes.
- Returning 1 in PACKETx handler function no longer shows Bad Msg Eat string.
06-11-2020 02:59 PM
Find all posts by this user Like Post Quote this message in a reply
Jhobean
Journeyman
*

Posts: 98
Likes Given: 11
Likes Received: 9 in 3 posts
Joined: Jun 2019
Reputation: 2



Post: #6
RE: Forcing Orion Client
PacketB0BF W000B W0FACE W0034 D0V1V2V3V4=f_orion. ??

How you found ?
Eg: 0B (hex) is 11 (dec) so you must use


Dont really understand. And i need the D0V1V2V3V4 value in paramater of the fonction

https://www.uocryptonite.com/
(This post was last modified: 06-11-2020 09:44 PM by Jhobean.)
06-11-2020 09:39 PM
Find all posts by this user Like Post Quote this message in a reply
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #7
RE: Forcing Orion Client
sry it's B0, not 0B lol

B0BF W000B W0FACE W0034 D0V1V2V3V4 = packet B0
and B0 (hex) is the same of 176 (dec)

so you must use PACKET176=f_something
06-12-2020 05:21 AM
Find all posts by this user Like Post Quote this message in a reply
Jhobean
Journeyman
*

Posts: 98
Likes Given: 11
Likes Received: 9 in 3 posts
Joined: Jun 2019
Reputation: 2



Post: #8
RE: Forcing Orion Client
WORKING!!

[FUNCTION TEST]
SENDPACKET B0BF W0007 W0FACE W0034

IN INI:
PACKET191=f_orion_exclusif

[FUNCTION f_orion_exclusif]
serv.log HERE <local.1> <local.2> <local.3> <local.4> <local.5> <local.6> <local.7> <local.8> <local.9> <local.10>

THX

I should see the content of the packet?

https://www.uocryptonite.com/
(This post was last modified: 06-12-2020 06:11 AM by Jhobean.)
06-12-2020 05:31 AM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes Jhobean's post
Fronz
Apprentice
*

Posts: 36
Likes Given: 2
Likes Received: 0 in 0 posts
Joined: Apr 2016
Reputation: 0



Post: #9
RE: Forcing Orion Client
Coruja and Jhobean thank you both!

Jhobean sent me the script and we made some changes to make it work on 0.56b and it's working great! So far of course. Nice one dude.

I've tested with other clients and it's blocking everything except Orion.


Now I can control that Fast Rotation thing. That option breaks the game, it's definitely a cheat lol.
(This post was last modified: 06-15-2020 01:01 AM by Fronz.)
06-15-2020 12:53 AM
Find all posts by this user Like Post Quote this message in a reply
cele_35
Apprentice
*

Posts: 7
Likes Given: 1
Likes Received: 0 in 0 posts
Joined: May 2019
Reputation: 0



Post: #10
RE: Forcing Orion Client
Can you explain how you did it ?
(This post was last modified: 01-24-2021 07:07 AM by cele_35.)
01-24-2021 05:25 AM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)