a few days ago ,one admin added a skin to my server and accidentally wiped the entire list of server packages out of the ini.( why is there a “empty” button with no conformation? WTF smirf.
i have been live editing the server ALOT latly , infact the uptime was easily 3 weeks, with only serverpackage edits live on server. and i added quite a few packages in that time.
To minimize downtime , without having a recent ini backup , ( many recent edits) i opened up the last non locked server log and recreated the server packages based on package load info ( yeah for bob saving the day)
btw that the difference about me and the next guy, I try to know how to work myself out of the corner that i get shoved into, by thinking.
unfortunately , that log was slightly old , and without shutting down the server to get the new data from the log ( and kick everyone off) i did temporally miss a few recent server packages like skins and some extra weapons we were testing.
so how did i find that out ?
Someone asked where there skin was not on the server anymore!
as a joke in annoyance , i said that i was going to make a system that does it automatically, or just bans every one with a custom skin.
After thinking about the issue , and some experience i gained working on that essential mutator i wrote .I realized that not only was a server side skin manager possible , but could have some bonus features.
so what the heck is skin assist?
It Is a mutator , 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 ill probably address those with package content analyses (texture only content within package). 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 could be modified allow skins to expire to reduce server packages. if a players dont visit the server in 90 days the skin could be automatically removed from the server packages , to reduce downloads. rejoining the server by the player can reset the count.
but there is something feature even way more clever.
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 is a player is on the server , and want to change there skin for any reason, they would normally have to reconnect, lose there place and inventory. ….. or will they?
my mod matches the login details ,Does some 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 we can address that like we do normally, 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.
There is still some bugs to work out and features to add.
for instance, if you change your skin many times , it changes from original join skin to current selection , so rejoining with your original join skin , forces a reconnect.also in seemingly random cases , it cant detect skin at all. , and gives error “” as skin , some error in my code i am sure.
over 700 lines of code that i need to review to do this , lol
there will likly be in game admin commands to register/ remove skins from the package, and well as list skins uses etc
there will be command to attempt to get all skins avalible on server , so far only lists actively loaded skins tho. and a skinswitchcommand to manaully switch to skins you dont have installed.( temporarily , or by join url)
a custom verision will be created to address names while using monsterplayers. in current , you can play on my servers as the monsters , using the monsternames , but this mod in future will after you join , will join as the playername you use before reconnect.
well well , hope you are excited. needed some encouragement via interest to bug fix things.