I've tried searching for relevant terms, but nothing related seems to come up.
I'm seeing something odd on servers after issuing the "adminlogin" command. Having logged in, typing "kick <playername" produces one of two results:
- "kicked" player isn't kicked, and no mention of the command having been used in the server log
- "kicked" player isn't kicked and "(Function Engine.PlayerPawn.Kick:0095) Accessed None" in the server log
The command works fine on a test 436 server. But I've noticed the above issues on both a local test 451 Windows server, and on two separate rented Linux 451 servers (with or without any extra mods running). Is this a known issue with that server version? Other admin commands work as expected (fly, ghost, walk, etc.). And I'm using Nexgen anyway, so I have alternative methods of achieving the same end. I see that the unrealscript for kick lives inside of PlayerPawn.uc (line 1560), and it all looks pretty innocuous. And besides, this must be one of the most well exercised commands in the code base.
The local test 451 server uses the stock "engine", and the two rental 451 servers are running XC_Engine, so that doesn't seem to be involved in anyway. The only common denominator (as far as I can see) is 451.
Known issue?
Server 'kick' command strageness
- sektor2111
- Godlike
- Posts: 6403
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Server 'kick' command strageness
In the past if I well recall I was using only MapVote for kicks - simply because some players were using malformed chars hard for typing and then with 2 - 3 mouse clicks and a key-bind I drop out turds ( some of them triggered me to do this because they got idea to place kick-votes against me and others ). At this point MapVoteLA works fine. As I know so far a NexGen kick means nothing that much, player can Re-Join - I don't recall which version has problems but I would not count on it.
So 451 proves daily cakes...
So 451 proves daily cakes...
Re: Server 'kick' command strageness
That was also my first thought: The player has unusual character(s) in his name, for example simply add a white space at the end of the name and "aPawn.PlayerReplicationInfo.PlayerName~=S" fails if you take player's name without that white space. Instead you can use KickList() to get the player ID and use KickID() to kick the player by that ID.
But unusual characters do not explain the ScriptWarning.
Another idea: the SkaarjTrooper have a dirty bIsPlayer=True switch to pick up the weapons. If that fails and bIsPlayer stays TRUE, the condition will throw that ScriptWarning, because PlayerReplicationInfo is None for SkaarjTrooper AFAIK.
That leads to the question how far engine's error handling's scope is: Are multi part conditions evaluated although one of it causes an Access None? Is the complete IF statement skipped? Does a function return immediately after an Access None?
But unusual characters do not explain the ScriptWarning.
Is Level.Game.bLogAdminActions==true and if, is the "kicked" message written to log in this case? Knowing this would help to locate the error.ShaiHulud wrote:- "kicked" player isn't kicked and "(Function Engine.PlayerPawn.Kick:0095) Accessed None" in the server log
Another idea: the SkaarjTrooper have a dirty bIsPlayer=True switch to pick up the weapons. If that fails and bIsPlayer stays TRUE, the condition
Code: Select all
(aPawn.bIsPlayer && aPawn.PlayerReplicationInfo.PlayerName~=S && ...)
That leads to the question how far engine's error handling's scope is: Are multi part conditions evaluated although one of it causes an Access None? Is the complete IF statement skipped? Does a function return immediately after an Access None?
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
Re: Server 'kick' command strageness
Thanks guys, that gives me a lot to think about - I'll have to do some more tests to provide details answers. I was actually just kicking a bot out of the server in each case, with a name that I'd given it, so a pretty simple character set in this instance.
- sektor2111
- Godlike
- Posts: 6403
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Server 'kick' command strageness
Nope... See Multiple "Accessed None" in that friendly* SkinnedFrag... See "Smarty" Timer from PrecipitationGenerator MyLeveled in some Maps, etc. Engine is like a very dedicated slave following instructions, if you say him: Kill Yourself - it will do that without to ask questions.Barbie wrote: Does a function return immediately after an Access None?