Page 1 of 1
Blocking Razor
Posted: Wed Nov 07, 2007 1:52 pm
by coltain
How to block logon when client is conecting by razor??
Posted: Tue Nov 13, 2007 5:46 pm
by MontuZ
This is just a guess. But I think it would work best, at least I'm pretty sure this is the only way to.
Use an insanely out of date client not supported by razor.
Why do you want to block it anyway?
Posted: Wed Apr 30, 2008 6:42 am
by coltain
I search for a way to block some razor options (light level etc)
Posted: Wed Apr 30, 2008 5:29 pm
by CWO
Light level is handled by the client. Its configurable by sending packets from the server but in the end, its either gonna be blocked or overridden by third party programs. Theres really no way to stop it unless you have a custom client that breaks third party program support. Razor isn't the only thing that handles light level specifically. There are others that modify the client itself to break it.
Posted: Sun May 11, 2008 1:34 am
by ncrsn
Seems like RunUO already has support for disabling some Razor features (like filtering the light level). Downside is that every player should use Razor for this to work (*). Check this thread:
http://www.runuo.com/forums/custom-scri ... ation.html.
I have to say I haven't used, nor tested, that in any ways, so this might not really be what I think it is, and even if it is, you might not be able to use in on POL (for a long time).
* Because POL does not support this AFAIK, if someone could make (script) it to, the razor only requirement could be disabled. If done so, of course, one couldn't force all players to not disable light levels, but only the ones that allow negotiation, so...
Posted: Thu Jun 19, 2008 11:10 am
by coltain
So...
Done some runuo script walkthrough and...
RunUo on logon of a player sends a packet to the client:
first four bytes id the head: f00000fe
later there are 8 bytes of feature enabled/disabled
every bit of 8 byte is a feature
so a packet should look like??? f0 00 00 fe 00 00 00 00 00 00 00 02
(to enable only light in razor)
The problem is when I write a simple text command to test:
program razor(kto)
var pakiet := sendpacket(kto,"f00000fe00000000000000ff");
Sendsysmessage(kto,"Pakiet razora: "+pakiet);
endprogram
sending this packet freezes the client...
I`m not so good in programming (since i`m a physic), but somebodu could find this data usefull and help to write something to force the razor to cooperate:)
Re: Blocking Razor
Posted: Thu Feb 04, 2010 9:39 am
by Pachacuti
Nobody tried anything with this?
I would try, but I need to admit im a packet newbie =p
Re: Blocking Razor
Posted: Thu Feb 04, 2010 12:15 pm
by phao
Pachacuti, there is a file called packethooks.txt teaching how to work with packets in POL. This file comes with POL Core.
And... Here is a reference for packets:
http://docs.polserver.com/packets/index.php
Re: Blocking Razor
Posted: Fri Feb 05, 2010 12:00 am
by Tomi
that Razor packet does not exist in Pol packetguide. And the problem with it is that it has to be sent earlier that you can with a simple packethook script.
Re: Blocking Razor
Posted: Fri Dec 14, 2012 2:37 am
by Voicer
<gravedigging mode on>
it is actually possible with packethook, I got some packets from RUnUO with client and fit them to POL with client, works perfectly.
Example usage (independent, should work) attached.
Re: Blocking Razor
Posted: Fri Dec 14, 2012 4:07 pm
by Korbedda
It works like this:
IF client uses Razor AND has the negotiate feature enabled, it will react to a 0xF0 packet from server. The packet is:
BYTE[1] 0xF0
BYTE[2] length (0x000C)
BYTE[1] 0xFE
BYTE[8] features to disable (for respective OR-ed values see this
RunUO script)
If you have Razor running, it will prevent this packet from getting to the client (which crashes on unknown/malformed packets). But only if you have negotiating enabled, it will block respective features and answer with a 0xF0 packet. So you can never know whether the client uses Razor or not. You can only detect Razor with negotiating enabled and then block the features you do not want. But you will have to require all players to use Razor with negotiating enabled so you can disconnect all players who have not responded to the 0xF0 handshake. The problem is that you cannot tell whether the player uses Razor without negotiation or uses only the client (okay, if they do, they crash, but you probably want them to play

). The only way is to either make a custom client or at least a customized application through which to run UO. This application then could detect Razor client-side and tell the server whether to use the handshake.
Re: Blocking Razor
Posted: Sat Dec 15, 2012 12:46 am
by Voicer
actually my script does exactly that, sorry I didn't described it clearly.
First, my PacketHook sends Razor Handhake Packet, and waits for a response from Razor.
If "Negotiate features with servers" is enabled, Razor will answer to the packet and player will be able to stay in-game, but without features of Razor I choose (for example light level).
If negotiate features are disabled in Razor, client will be disconnected after time-out of waiting for a handshare packet that was supposed to be sent from Razor to POL.
That's it, no server-side modifications, no custom clients, only Razor+POL+example package I included.
Nowadays it is very common to almost everyone to use Razor anyway, because of easy interface and additional macros you simply NEED + you always have some additional control over third party login programs that player could use instead of Razor.