It Is a mutator tool , what it does is saves the player login information at join , then process it after a player joins, analyzing weather the skin is is the server packages. if it is in the server packages , it does nothing, the skin works like it would normally on any server.
if the desired skin is not in the server packages , it searches all files on the server to see if the skin utx files is available to load/install.
If the file is on the server , it is added to a custom list of on demand skins.
along with the requesting player , and add date.
upon the level switch , the mod automatically adds these skins files to the server packages ready for use by the player,this list is separate from the normal server packages.
if the file is not on the server, the user is prompted to contact the admin , or in my case – (in the future )they are directed to a php page where they can upload there skin utx file to the server.
This could potentially present some security issues latter on but that is addresses by uscript based package analysis.
The skin file they request is also added into a list in the ini file , so that a admin can manually see what skins players want to use and add them accordingly.
the mod allow skins to expire to reduce server packages.
if a players dont visit the server in 30 days the skin is automatically removed from the server packages , to reduce downloads. rejoining the server by the player can reset the count or cause it to be active again.
but there is more.
We have there prelogin information that tells the server there skin request. if they are already on the server , and they reconnect, we can match the player name , ip , and join parameters to a player already on the server. This way if a player is on the server , and want to change there skin for any reason, they would normally have to reconnect( in most gametypes) , lose there place and inventory. ….. or will they?
my mod matches the login details ,Does some basic comparison for class/skin changes, and if the player class is the same , But the skin parameter changes , it rejects the request to join, and takes there requested skin and changes the players skin while still ingame.
this wont work with as is with skins not in the server packages ( but can be addressedlatter, by checking the server and adding them on demand) so what we has here is fast skin changing. people can change and test skins all day long without having to fully rejoin the server,
in the cases where the class changes , it will force a reconnect.
in the case of the requested skin not in server , it can reject the reconnect and warn the user.
players can “/skins” to view any skin installed on the server to choose from.
players can “/skinjoin #” to swap to a skin not installed on while ingame for testing
admin can “/skinsdebug” to see active/dead skins and player requests
broken: players can “/skinrejoin #” to swap to a skin not installed on there client, that will be persisnt via url.
possible future feature additions:
hud mutator gui to preveiw and pick skins, using key binds and stuff to switch between skins using prev/next like inventory