AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   xREDIRECT (https://forums.alliedmods.net/forumdisplay.php?f=128)
-   -   New Halflife update killed redirection - counteractions (https://forums.alliedmods.net/showthread.php?t=97330)

xOR 07-14-2009 20:23

New Halflife update killed redirection - counteractions
 
the problem:
the latest update for halflife blocks executing the "connect" command. this renders xREDIRECT useless as that command is neccessary to do the actual redirection of a player, be it automatic or manual.

who should participate?
this thread is mostly for people with some knowledge in AMXX plugin developement. of course others are welcome to post ideas as well but be warned that many ideas that sound good are probably doomed to failure by technical limitations.
also we will need some admins that are willing to use the CS beta and try debug/beta versions of xREDIRECT and maybe other plugins on their servers).

so, please post your ideas here how we possibly could either implement a hack or at least how a workaround could look like. then we discuss that here.

EDIT 11/08/02: revived this old thread as the problem returns with a new update from valve that is already available as beta. this was reported here. you'll find the mailing list contents with this information here.

EvolDay 07-14-2009 21:06

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
make them download .cfg files. in the files it has connect 0.0.0.0:27015 and when they choose the server exec blahredirect.cfg let server operators name them however they likes so they can be unique.

another way instead of connect you could try. messagemode "connect 0.0.0.0:27015" then ask the player to push enter to continue or esc to cancel..

dunno if those will work. but its worth a shot if a better idea can't be found i guess.

xOR 07-14-2009 21:21

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
here is some brainstorming for us to start with.


1. alias executed by server
my first try would be to create an "alias" command on the player for the connect command and execute that one.
pros:
- player wouldn't notice any changes to earlier versions of xREDIRECT
- the change in xREDIRECT would need minimal effort (which doesn't even matter, i will do what's neccessary, no matter what effort is needed)
cons:
- none
operability:
will only work when creating aliases on a player is possible. i never needed this and this is brainstorming, i didn't do any investigation yet, so i don't know.
and even if, we still don't know whether hl1 will be fooled by it or not.

2. alias executed by player
if that doesn't work because hl still detects that the connect command is run in the context of a server command execution, maybe we could at least tell the user (in chat area and console) that he has to type "y" in console when he really wants to redirect himself. before we create the alias "y" with our connect command. this way the command is executed by the player.
pros:
- change in operation of xREDIRECT not too big
cons:
- changes for the player, he has to execute a command himself
- many players don't know how to work with the console very well
operability:
will only work when creating aliases on a player from server-side is possible. i never needed this so far and as this is brainstorming i didn't do any investigation yet, so i don't know.

3. bind executed by player
bind the connect command to a player's key. it is highly abusive, as there won't be a key that isn't used by some players which will be annoyed then.
we should try to restore the binding before actually redirecting, that would at least change this fix from "highly abusive" to "dirty" :|
pros:
- change in operation of xREDIRECT not too big
cons:
- changes for the player, he has to press one more key
- annoyance: it might use keys that the player usually uses for other things and he doesn't like xREDIRECT altering it
operability:
will only work when creating aliases on a player from server-side is possible. will only work when changing binds on a player from server-side is possible.

4. menu hack
probably a solution only suitable for xREDIRECT, because it is using a menu. it also depends on the server being able to alter client aliases and bindings.
e.g. if in the menu "1" is the menu entry "Connect" the key binding for "1" is changed and restored after the user left the menu page. so bind "1" "slot1" is being changed to bind "1" "slot1; xredirconnect". the alias xredirconnect has been set before to restore the binding (bind "1" "slot1") and execute the connect command for the currently connected server.
pros:
- no change in operation of xREDIRECT for the player
- only alters the key while it is reserved for the menu anyway
cons:
- some small risk stays that the key binding is not reset (e.g. the player gets a connection problem when he has the menu open) which would lead to the key executing the connect command once at a later time when the user probably would not want that anymore
operability:
will only work when creating aliases on a player from server-side is possible. will only work when changing binds on a player from server-side is possible.

5. client application
not a good idea, just listing it for the sake of completeness.
a simple client program that sits in the tray. xREDIRECT directly sends a connect command to that application. then it executes a steam:// link or otherwise hacks into hl to execute a command there, if that is possible.
pros:
- no change in operation of xREDIRECT itself for the player (ofc he has to install the client)
cons:
- extra program installation needed
- high risk of security issues for the user (an application that can execute commands when you tell them to via network? can easily be abused by other programs as well)
- because of the above the application has to be secured very good which will need very much time and testing
operability:
noone will want to install a program only to be able to redirect himself between special servers. this is where the idea dies already before it's born...

6. player enters command manually
the worst solution, but at least the only solution that will always be possible, even when aliases and binds can't be changed on the player: tell the player the command (in chat or console) that he has to execute in the console. "please type <connect ip:port> in console now." it sucks big time, sort out 50/100 players that don't know what a console is or how they could open it. sort out 10/50 players that know how to open the console but don't get the command to execute because they mess something up with quotation marks or the colon or other characters (opening the console in german CS always writes a "^" character to the line, that has to be deleted first before executing a command).
sort out 35/40 players that would know but are too lazy because they ask themselves "what comfort does that give me over managing my own favourites list instead?"
pros:
- independant from technical limiations (aliases, bindings)
cons:
- many players won't understand what they should do
- many players won't want to do that, as they are lazy
operability:
- great, it will work but we are left with 5/100 players actually using that

xOR 07-14-2009 21:23

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
Quote:

Originally Posted by EvolDay (Post 872467)
make them download .cfg files. in the files it has connect 0.0.0.0:27015 and when they choose the server exec blahredirect.cfg let server operators name them however they likes so they can be unique.

another way instead of connect you could try. messagemode "connect 0.0.0.0:27015" then ask the player to push enter to continue or esc to cancel..

dunno if those will work. but its worth a shot if a better idea can't be found i guess.

both sounds good for now. we will have to try whether it's possible to do or not.

endeffects 07-15-2009 02:13

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
maybe the steam://connect/ url can be run from an embedded flash file on the motd?

Mordekay 07-15-2009 12:01

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
All this handles players allready on the server, what about those that join your server/s when they are allready full and join the reserverd slot? You'd have to kick them after some time or they will simply stay on that slot.

Nextra 07-15-2009 12:50

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
I'm obviously using the CS beta and will try out whatever you throw at me :D

However, anything related to binding or executing is an even worse form of abuse and could be blocked aswell. But maybe it will do for an appropiate time-limited solution.

I'll try your 1. solution and the messagemode stuff as possible ways to deal with it, I'll be back with results this evening I hope.

minimiller 07-15-2009 13:54

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
Quote:

Originally Posted by xOR (Post 872452)
the problem:
according to what can be seen in the beta it seems that new updates for CS blocks executing the "connect" command. this renders xREDIRECT useless as that command is neccessary to do the actual redirection of a player, be it automatic or manual.

If they block the "connect" command, none of your listed ways will work =[
but it seems they arent doing anything about the "steam://" part
it would probably be possible to put a link in an MOTD saying "click me to redirect to your chosen server"
apart from that, i doubt theres a way around it
=[

DarkGod 07-15-2009 15:19

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
Continuing on with the MOTD steam://.
You could just change the way that the '/servers' command works and make it pull up a server list in a MOTD where you can click the server which you want to join.
It doesn't change that much from the way that it currently works and you can show more servers and not have to go to next page or so.

Is there anybody that have tried if this method works, by the way? It's probably best to find out if it works before we continue on with it.

xOR 07-15-2009 16:12

Re: New (CS, maybe later also others mods?) beta kills xREDIRECT - counteractions
 
Quote:

Originally Posted by Nextra (Post 872889)
I'm obviously using the CS beta and will try out whatever you throw at me :D

ok, good to know. too bad my job currently doesn't leave me much free time. in worst case i won't come up with something before the weekend.
many necessary changes won't need too much coding, maybe someone else can help out until then.

Quote:

Originally Posted by Nextra (Post 872889)
I'll try your 1. solution and the messagemode stuff as possible ways to deal with it, I'll be back with results this evening I hope.

yeah, that's what i meant. great, thanks already.

Quote:

Originally Posted by minimiller (Post 872917)
If they block the "connect" command, none of your listed ways will work =[

well for now i am assuming they are only blocking it when executed remotely by a server, as that's the way the current version is already doing it. if they even block the user himself from executing it we're in big trouble.

Quote:

Originally Posted by minimiller (Post 872917)
but it seems they arent doing anything about the "steam://" part

i don't know. Wolfmark says it's blocked. now is it? or isn't it?

Quote:

Originally Posted by DarkGod (Post 872967)
Continuing on with the MOTD steam://.
You could just change the way that the '/servers' command works and make it pull up a server list in a MOTD where you can click the server which you want to join.
It doesn't change that much from the way that it currently works and you can show more servers and not have to go to next page or so.

Is there anybody that have tried if this method works, by the way? It's probably best to find out if it works before we continue on with it.

yeah sounds good, a quite sexy solution.

Quote:

Originally Posted by Mordekay (Post 872860)
All this handles players allready on the server, what about those that join your server/s when they are allready full and join the reserverd slot?

unfortunately that's true. so we need more ideas or more :crab:. or both...


seeing all you people willing to help and coming up with valuable thoughts i still have some hope we will find a way in the end. thanks for that.


All times are GMT -4. The time now is 20:50.

Powered by vBulletin®
Copyright ©2000 - 2019, vBulletin Solutions, Inc.