Solution for skins

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Solution for skins

by PolySaken » Tue Nov 12, 2019 20:48

Firstly: this topic is in general Discussion because it is not entirely about Minetest Features.
Secondly, This is addressed mostly to:
1) The core developers in general (for obvious reasons)
2) Rubenwardy (As you are the admin/owner/whatever of the CDB)
Thirdly: This proposal is not perfect and I do not claim it to be. However, It is a possible solution for the ongoing discussion about built-in skins.

(Assume everything is in reference to the default player model)

Now on to the main topic.

There have been many topics posted about skins, with the oldest I was able to find dating to 2013.
There has also been the potential issue of inappropriate or offensive skins being used if skins were incorporated into the game. This seems almost unavoidable at first glance, but can actually be solved quite easily.
This is where the Content Database comes in.

I propose that a new section be added to the CDB called 'Skins' where users can submit skins exactly as if they were a mod, game or texture pack. The CDB already uses a system of manual approval and with a few more 'staff'
(I would happily volunteer) the issue of inappropriate skins could be solved.

Time to address the second issue: Implementation. Sending 50+ skins to a server whenever it starts, or receiving a skin whenever a player joins, is too inefficient and would cause needless server lag. There should be a 'Skins' tab in the main menu, which shows a list of skins already on the CDB. Players could then choose a skin from this list, which would save a Unique Identifier to the client. This identifier is then sent to the server, allowing the server to download the skin from the content db at its own pace, reducing the load on the server.
Basic info about the skin (name, author, license) should also be included in the list entries.

Server owners should also be able to disable the use of skins on their server in favor of server provided skins, or just because they prefer not to use them.

Another way to reduce server load is to limit and standardize the skin format.
The standard skin seems to be 2:1 in size and in divisions of 2.
The maximum size should probably be 64 x 32, or maybe 128 x 64 depending on the load of requesting a skin from the CDB. A maximum file size of 3 or 4 kb should also be specified.

These things should all drastically reduce the load on servers compared to other solutions.

As I stated before, I would be more than happy to moderate the skin section and approve acceptable skins.
 

User avatar
HackerinPink
Member
 
Posts: 27
Joined: Tue Oct 29, 2019 19:36
Location: Somewhere in a 100% regular place.
In-game: Dudeman HackerinPink

Re: Solution for skins

by HackerinPink » Tue Nov 12, 2019 22:53

This is a nice idea but its horribly unrealistic. How much goddarn skins will you need to moderate! and where!
And even if you somehow waste your life moderating skins for free, people can make their own mods and put it privately on their servers without needing to ask for moderation. There is no actual control. But keep going, nice idea, but needs some fixes maybe.
A Dude with power and Intellect.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Wed Nov 13, 2019 00:21

HackerinPink wrote:This is a nice idea but its horribly unrealistic. How much goddarn skins will you need to moderate! and where!
And even if you somehow waste your life moderating skins for free, people can make their own mods and put it privately on their servers without needing to ask for moderation. There is no actual control. But keep going, nice idea, but needs some fixes maybe.

There are already many, many packages on the CDB and it doesn't seem like too much trouble, at least not to the point of wasting the reviewers' lives.
Also, the idea is not to control skin usage, but provide an easy system for inexperienced users to add their own skins to the cdb and have them approved for use across any server.
And yes, people's skin mods will still work. This whole system will be optional.
 

User avatar
runs
Member
 
Posts: 926
Joined: Sat Oct 27, 2018 08:32
GitHub: runsy

Re: Solution for skins

by runs » Wed Nov 13, 2019 12:07

Good idea. And I would add an API to manage skins, a bridge between a mod and ContentDB.
 

User avatar
Linuxdirk
Member
 
Posts: 2212
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: Solution for skins

by Linuxdirk » Wed Nov 13, 2019 12:57

runs wrote:Good idea. And I would add an API to manage skins, a bridge between a mod and ContentDB.

The CDB would be constantly flooded with skins from all servers ...
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Wed Nov 13, 2019 20:57

Linuxdirk wrote:
runs wrote:Good idea. And I would add an API to manage skins, a bridge between a mod and ContentDB.

The CDB would be constantly flooded with skins from all servers ...

if the API was just limited to functions that get information about a player's skin, and request it from the CDB the toll wouldn't be that high. There is no need to automate two-way sending of most data.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Wed Nov 13, 2019 21:04

Keep in mind that the amount of people who will upload original, appropriate skins will be quite low, so the CDB will not have much extra load.
The amount of people who actually create MT content is still ridiculously small in comparison to the amount of users in total, and most people are going to use a random skin that someone else made.
Another way to decrease load on the CDB is to have servers cache the most frequently or consistently used skins.
Also the skin IDs can be kept in memory avoid loading the same skin twice (for example if two players use the same skin)
 

User avatar
HackerinPink
Member
 
Posts: 27
Joined: Tue Oct 29, 2019 19:36
Location: Somewhere in a 100% regular place.
In-game: Dudeman HackerinPink

Re: Solution for skins

by HackerinPink » Thu Nov 14, 2019 00:12

Looking back onto the new replies and stuff, I stand corrected. This is a nice idea and I give my complete support! Love to see how this will turn out to be.
A Dude with power and Intellect.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Thu Nov 14, 2019 03:47

HackerinPink wrote:Looking back onto the new replies and stuff, I stand corrected. This is a nice idea and I give my complete support! Love to see how this will turn out to be.

Thanks!
 

User avatar
Hume2
Member
 
Posts: 364
Joined: Tue Jun 19, 2018 08:24
Location: Czech Republic
GitHub: Hume2
In-game: Hume2

Re: Solution for skins

by Hume2 » Thu Nov 14, 2019 19:13

I have a suggestion. There might be one central database but it should be possible for anyone to make his own database. The database would be a separate server and each server could refer to a different database while the central database could be default. This would be good so if a server would have different opinion on what skin is suitable or it would use a different character model, it wouldn't loose the advantages.
If you lack the reality, go on a trip or find a job.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Fri Nov 15, 2019 06:23

Hume2 wrote:I have a suggestion. There might be one central database but it should be possible for anyone to make his own database. The database would be a separate server and each server could refer to a different database while the central database could be default. This would be good so if a server would have different opinion on what skin is suitable or it would use a different character model, it wouldn't loose the advantages.

How would a server verify that the database provided in the client is safe? If a player chooses to use an unmoderated database and joins a server, what's to stop them from using an inappropriate skin?
 

User avatar
Linuxdirk
Member
 
Posts: 2212
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: Solution for skins

by Linuxdirk » Fri Nov 15, 2019 08:16

PolySaken wrote:
Hume2 wrote:I have a suggestion. There might be one central database but it should be possible for anyone to make his own database. The database would be a separate server and each server could refer to a different database while the central database could be default. This would be good so if a server would have different opinion on what skin is suitable or it would use a different character model, it wouldn't loose the advantages.

How would a server verify that the database provided in the client is safe? If a player chooses to use an unmoderated database and joins a server, what's to stop them from using an inappropriate skin?

You can't.

You either have a moderated central repository for skins, or server-owners and admins have to manually check if a skin is inappropriate.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Fri Nov 15, 2019 09:50

Linuxdirk wrote:
PolySaken wrote:
Hume2 wrote:I have a suggestion. There might be one central database but it should be possible for anyone to make his own database. The database would be a separate server and each server could refer to a different database while the central database could be default. This would be good so if a server would have different opinion on what skin is suitable or it would use a different character model, it wouldn't loose the advantages.

How would a server verify that the database provided in the client is safe? If a player chooses to use an unmoderated database and joins a server, what's to stop them from using an inappropriate skin?

You can't.

You either have a moderated central repository for skins, or server-owners and admins have to manually check if a skin is inappropriate.

Exactly. That's one of the main reasons for hosting it on the CDB in the first place.
 

User avatar
Linuxdirk
Member
 
Posts: 2212
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: Solution for skins

by Linuxdirk » Fri Nov 15, 2019 10:20

PolySaken wrote:hosting it on the CDB in the first place.

I don't see why there should be hundreds of skins in the CDB where most of them are used by only one person on only one server.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Fri Nov 15, 2019 11:00

Linuxdirk wrote:
PolySaken wrote:hosting it on the CDB in the first place.

I don't see why there should be hundreds of skins in the CDB where most of them are used by only one person on only one server.

What do you mean by only one server...? The idea is that the skins are cross-server, hence why I didn't just make a new skin mod. Here's a less-than-simple flowcharty thing explaining the processes.
Image
 

User avatar
Linuxdirk
Member
 
Posts: 2212
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: Solution for skins

by Linuxdirk » Fri Nov 15, 2019 11:34

PolySaken wrote:The idea is that the skins are cross-server

I'm pretty sure the majority of players plays exclusively on one server and uses only one skin. Therefore a cross-server solution might be massive overhead with little to no benefit but only administrative work in CDB.
 

User avatar
Hume2
Member
 
Posts: 364
Joined: Tue Jun 19, 2018 08:24
Location: Czech Republic
GitHub: Hume2
In-game: Hume2

Re: Solution for skins

by Hume2 » Fri Nov 15, 2019 20:23

PolySaken wrote:How would a server verify that the database provided in the client is safe? If a player chooses to use an unmoderated database and joins a server, what's to stop them from using an inappropriate skin?

No, the clients won't be able to choose the database. The server would choose the database.

BTW, why don't do it like this instead?
Image
Attachments
skin.png
(50.08 KiB) Not downloaded yet
If you lack the reality, go on a trip or find a job.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Fri Nov 15, 2019 22:59

Hume2 wrote:
PolySaken wrote:How would a server verify that the database provided in the client is safe? If a player chooses to use an unmoderated database and joins a server, what's to stop them from using an inappropriate skin?

No, the clients won't be able to choose the database. The server would choose the database.

BTW, why don't do it like this instead?
Image

If the server chooses the database, then a player has no way of knowing what skins are available, or even knowing if they can add their own. Also, if the server wants to use their own database, they should just disable the use of custom skins and use a pre-existing skin mod.

(I also noticed that with your method, A malicious server could provide a url to a fake skin database which leads to an unsafe website. This would allow server operators to potentially install malware on clients)

I personally think that the CDB should be the only database because it is the safest and easiest to incorporate, but at the end of the day it's all up to the people who actually implement this (if at all).
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Fri Nov 15, 2019 23:09

Linuxdirk wrote:
PolySaken wrote:The idea is that the skins are cross-server

I'm pretty sure the majority of players plays exclusively on one server and uses only one skin. Therefore a cross-server solution might be massive overhead with little to no benefit but only administrative work in CDB.

If players are using only one skin each then there wouldn't be much more admin work. Also, where are you getting your info from? I can't think of anyone I know that only play on one server. I personally frequent at least five.
(Though, like yours, my experiences are not universal)
 

User avatar
Hume2
Member
 
Posts: 364
Joined: Tue Jun 19, 2018 08:24
Location: Czech Republic
GitHub: Hume2
In-game: Hume2

Re: Solution for skins

by Hume2 » Sat Nov 16, 2019 09:00

PolySaken wrote:If the server chooses the database, then a player has no way of knowing what skins are available, or even knowing if they can add their own. Also, if the server wants to use their own database, they should just disable the use of custom skins and use a pre-existing skin mod.

The skin database URL is human-readable, so the player can know it even before joining the server.

PolySaken wrote:(I also noticed that with your method, A malicious server could provide a url to a fake skin database which leads to an unsafe website. This would allow server operators to potentially install malware on clients)

The Minetest server can be malicious itself. This won't make it easier nor harder for the hackers to hack into your computer.
If you lack the reality, go on a trip or find a job.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Sat Nov 16, 2019 10:11

Hume2 wrote:
PolySaken wrote:If the server chooses the database, then a player has no way of knowing what skins are available, or even knowing if they can add their own. Also, if the server wants to use their own database, they should just disable the use of custom skins and use a pre-existing skin mod.

The skin database URL is human-readable, so the player can know it even before joining the server.

PolySaken wrote:(I also noticed that with your method, A malicious server could provide a url to a fake skin database which leads to an unsafe website. This would allow server operators to potentially install malware on clients)

The Minetest server can be malicious itself. This won't make it easier nor harder for the hackers to hack into your computer.

Yes, it is possible to affect clients through connection to a server. However, blindly trusting a server to provide a safe url definitely makes it easier for said clients to be 'hacked'. Also, my point about disabling the skin system and using a mod still stands in the case of servers that want to use their own database. Players shouldn't have to trawl through an external website looking for skins made by other people when they could just upload their own to the Content Database, select it in the main menu and click play.
 

User avatar
Hume2
Member
 
Posts: 364
Joined: Tue Jun 19, 2018 08:24
Location: Czech Republic
GitHub: Hume2
In-game: Hume2

Re: Solution for skins

by Hume2 » Sat Nov 16, 2019 11:01

PolySaken wrote:Yes, it is possible to affect clients through connection to a server. However, blindly trusting a server to provide a safe url definitely makes it easier for said clients to be 'hacked'.

You already blindly trust the Minetest server. The skin server will only provide the skins, which is currently being done by Minetest. So there is no way how this could be more dangerous than it is now.
PolySaken wrote:Also, my point about disabling the skin system and using a mod still stands in the case of servers that want to use their own database. Players shouldn't have to trawl through an external website looking for skins made by other people when they could just upload their own to the Content Database, select it in the main menu and click play.

The same can be done for any other skin database. There is no need for centrality.
If you lack the reality, go on a trip or find a job.
 

User avatar
rubenwardy
Moderator
 
Posts: 5883
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: Solution for skins

by rubenwardy » Sat Nov 16, 2019 13:00

It's already possible for a Minetest server to get clients to download from an arbitrary domain - the remote media feature
 

User avatar
HackerinPink
Member
 
Posts: 27
Joined: Tue Oct 29, 2019 19:36
Location: Somewhere in a 100% regular place.
In-game: Dudeman HackerinPink

Re: Solution for skins

by HackerinPink » Wed Nov 20, 2019 22:46

WOW! Now this thread is REALLY shining! With all the diagrams and stuff! Sucks i'm too stupid to contribute, but nice work!
A Dude with power and Intellect.
 

User avatar
PolySaken
Member
 
Posts: 404
Joined: Thu Nov 09, 2017 05:18
Location: djelibabi
GitHub: PolySaken-I-Am
In-game: PolySaken

Re: Solution for skins

by PolySaken » Sun Nov 24, 2019 20:48

rubenwardy wrote:It's already possible for a Minetest server to get clients to download from an arbitrary domain - the remote media feature

This is close to my intention but not quite there. Centalization on the CDB is important for new/inexperienced players, especially those who are coming from minec***t. It's no good if every server has their own database, because players want to be able to use their skin on every server.
 


Return to General Discussion



Who is online

Users browsing this forum: No registered users and 3 guests