Graal Forums

Graal Forums (http://forums.graalonline.com/forums/index.php)
-   Feature request (http://forums.graalonline.com/forums/forumdisplay.php?f=194)
-   -   Mobile Staff and PC Servers (http://forums.graalonline.com/forums/showthread.php?t=134268192)

devilsknite1 05-09-2013 05:23 AM

Mobile Staff and PC Servers
 
I know there was a thread about this previously and things like staff weapons are to attach to the client making it possible for them to be carried over when server warping from an iPhone server to any other server, including a PC server. It's fairly annoying, and on UN we've either made some janky script workarounds (even down detecting the player's font, and destroying GraalControl and everything else on the screen if the font is the same used on iDevice servers--specifically iZone, Ol' West, and iEra), or flat out banned the players from the server.
So here is my proposal: either add a way to detect what server a player warped from so we can handle it ourselves (or better yet Stefan in a login NPC), or flat out disable server warping to PC servers from iDevice servers.
Maybe something along the lines of:
Graal Script Code:

TServerPlayer.lastserver string (read only

EDIT: just realized the possibility of the slim chance of this being abused, as servers could manipulate players based on the last server they were on. However unlikely the scenario, maybe a better solution should be thought up. Perhaps the latter option provided above. Or just throw it into a login NPC and not allow servers to access it? Any better ideas?

fowlplay4 05-09-2013 05:32 AM

All mobiles servers have (or should have) a -Movement/VirtualKeys weapon that's added to everyone. This should detect them all:

Graal Script Code:

//#CLIENTSIDE
function onCreated() {
  if (
findweapon("-Movement/VirtualKeys"in player.weapons) {
    
kill_them();
  }


Also you should just disconnect them (sendtorc("/disconnect account")) or serverwarp them to Login. Also this should probably be implemented in at least one script on each mobile server to prevent abusive mobile staff:

Graal Script Code:

//#CLIENTSIDE
function onServerLogin() {
  if (
getservername().pos("iPhone") == -&& getservername().pos("Login") == -1) {
    
serverwarp("Login");
  }



Stowen 05-09-2013 05:33 AM

I agree. Something should be put into place to help this, it really sucks throwing together scripts to detect which font a player is using to determine if they were on an iServer or not.

devilsknite1 05-09-2013 05:35 AM

That also works, thanks again FP4! A weapon name or a flag was what we were searching for initially, but with the boat load of flags and weapons each player has on the server it's not really ideal to go through that much work for a problem initiating from the players themselves.
And when the player is disconnected or warped to the login server, would the weapons not still be attached to the client from the iOS server? I suppose continuously disconnecting them would still solve that problem either way, but in case they "don't know" (so many pleas from these iOS staff members) it's nice to let them know they have to restart the client. I guess a disconnect message could be used so it doesn't matter o_o

fowlplay4 05-09-2013 05:41 AM

Quote:

Originally Posted by devilsknite1 (Post 1717728)
That also works, thanks again FP4! A weapon name or a flag was what we were searching for initially, but with the boat load of flags and weapons each player has on the server it's not really ideal to go through that much work for a problem initiating from the players themselves.
And when the player is disconnected or warped to the login server, would the weapons not still be attached to the client from the iOS server?

iOS servers are 'Login' servers so their weapons persist when they change servers. I'm not sure if getting warped to the default Login server removes the weapons from other Login servers though.

The relay hack operates the same way, so you can detect the injected weapons in a similar fashion.

It'd be better if Stefan just implemented that server check snippet of code on each server though.

devilsknite1 05-09-2013 07:40 AM

Quote:

Originally Posted by fowlplay4 (Post 1717729)
The relay hack operates the same way, so you can detect the injected weapons in a similar fashion.

Granted you know what those weapon names are. Unless you compile a list of all weapons on the server and if one doesn't match up do it that way, but pretty unreasonable for something that could actually be fixed fairly easily in the first place.

callimuc 05-09-2013 01:28 PM

Quote:

Originally Posted by fowlplay4 (Post 1717726)
Graal Script Code:

//#CLIENTSIDE
function onServerLogin() {
  if (
getservername().pos("iPhone") == -&& getservername().pos("Login") == -1) {
    
serverwarp("Login");
  }



Thank you, never really thought of that. Just added this to iEra and iEra Dev but limited the check to iEra (Dev).


All times are GMT +2. The time now is 08:59 AM.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (C) 1998-2008 Linux cyberjoueurs All Rights Reserved.