Level(pack) upload feature

Level(pack) upload feature

Postby Edward_Lii » 21 Mar 2012, 14:48

Hello all,

It's time to start discussing the things we want in V0.4 and one of them is the possible addition of an upload feature.
But before we implement this we need to have a clear vision of how to do it.

In-game / addon site
The upload feature can either be in-game or by using a form on the site (a bit like http://stkaddons.net/).
Although an in-game upload mechanism would be more accessible, it will require more work getting an interface that can be used to upload/manage the addons.
An advantage of creating a web interface for it is that when we decide to change the system the web interface can easily be changed.
With an in-game upload feature it would require us to either release a new version or make the new/updated system backwards compatible with the old one.

Registration and accounts
Another thing to consider is if we allow uploads by anyone or create some sort of account system.
While an account system might hold back some users from uploading their levels it will allow us to add manage functionality like deleting and updating content.
Without such system it would be practically impossible to know which level(pack) is managed by which client.

Repositories and/or rating
Beside the uploading itself there's also the way other users will be able to get this content.
It will preferably be using the addon manager, but if we sort the list alphabetically we might end up with names like 000MyLevel just to get at the top of the list.
To solve this we can add a rating system or divide them into repositories (e.g. featured, puzzles, stories), which can be used to sort the list.
Slightly unrelated, we can also put uploads in a pending list and add them to the addons when accepted.

Of course things can be combined like having both a web and in-game interface as well as allowing registered and anonymous uploads.

Any suggestions?
From,
Edward_Lii
User avatar
Edward_Lii
MnMS Moderator
 
Posts: 777
Joined: 20 Dec 2010, 16:46

Re: Level(pack) upload feature

Postby odamite » 21 Mar 2012, 18:20

Hello.

This is a much needed feature in my opinion. It'll make contribution easier and faster. We can get a lot more content faster than now. :cool:

I would prefer web interface to in-game. Of course the addon manager and downloader would stay inside game but uploading own content should happen on web. I think this will provide better security to avoid exploits. This game is open source and upload happening in code of client's side isn't so smart. Basically anyone could upload any file and modify server just by compiling own version. To avoid this we could keep upload code closed but this doesn't fit free software so well. If we create this content uploader on web with PHP, we can safely use it. It can be open source too so anyone can help to improve it or even set up own server.

I'm sure that uploading must require a user account. We don't want any spam in addons so overall quality will be better. I think we don't need to check the content before it's going online. We must just check progamatically that it contains just valid files and not some scripts or executables.

Rating content shouldn't require an account. It must be made simple and fast so people will actually rate something. The only problem is how to prevent someone to vote multiple times or set up a bot to do it for him/her. It isn't the end of the world but something simple like "cookies" should do it.

I've also got some other ideas for 0.4:
  • Controlling the game with only keyboard/gamepad (mentioned before)
  • Resolution independence (planned in 0.5?)
  • Additions to level format like decoratives and maybe simple scripting (discussed here)
  • Translations. Free software is about sharing applications and make them available for everyone. Not everyone can read English especially young and old people. Adding translation support for the game itself is easy but how to do it for levels (notification blocks) or addons?
User avatar
odamite
 
Posts: 166
Joined: 16 Jan 2012, 16:28

Re: Level(pack) upload feature

Postby Edward_Lii » 21 Mar 2012, 19:06

Hello odamite,

odamite {l Wrote}:I would prefer web interface to in-game. Of course the addon manager and downloader would stay inside game but uploading own content should happen on web. I think this will provide better security to avoid exploits. This game is open source and upload happening in code of client's side isn't so smart. Basically anyone could upload any file and modify server just by compiling own version. To avoid this we could keep upload code closed but this doesn't fit free software so well. If we create this content uploader on web with PHP, we can safely use it. It can be open source too so anyone can help to improve it or even set up own server.

I'm not sure a PHP web interface would be any more secure than an in-game uploader.
The actual uploading will probably happen using an HTML POST request, with both the web-interface and the in-game uploader (curl).
In both cases someone can easily create a script that keeps sending POST requests to the server.

If we decide to use accounts, which I personally think we should, we can easily solve this problem by using authentication.
An account will probably be easy to create so it can still be abused, adding a delay between uploads from the same account (something like ~10-20 min.) will prevent continuously uploading.

odamite {l Wrote}:Rating content shouldn't require an account. It must be made simple and fast so people will actually rate something. The only problem is how to prevent someone to vote multiple times or set up a bot to do it for him/her. It isn't the end of the world but something simple like "cookies" should do it.

A cookie would probably prevent regular users from voting multiple times but it won't stop a simple bot and/or person with cookies disabled.
Unless you meant some sort of server side cookie keeping track who rated what (by using their IP) but than we need to inform the users there IP will be "stored" to prevent any legal issues.
AFAIK there is no real solution to this, some sort of captcha could prevent bots, but won't work for cheating users.

odamite {l Wrote}:Resolution independence (planned in 0.5?)

This will require a lot of work, but I have nothing against it to set it as a target for 0.4.

odamite {l Wrote}:Additions to level format like decoratives and maybe simple scripting (discussed here)

I think this will be quite easy to implement, simply have two arrays (foreground and background) and draw them before and after the blocks/players rendering.
My only concern is with the level editor, handling them probably won't work using the methods used for Blocks.

odamite {l Wrote}:Translations. Free software is about sharing applications and make them available for everyone. Not everyone can read English especially young and old people. Adding translation support for the game itself is easy but how to do it for levels (notification blocks) or addons?

Translating the game is not that hard except for languages that don't use a Latin alphabet.
About the notifications and addons I think we should add the ability to translate them, and make sure that the main content has translations.
When an addon is quite popular it can be translated and pushed as an update to the addon manager.
We don't want "Story pack", "Story pack (FR)", "Story pack (SP)" listed in the addon manager for two reasons, it will clutter the addon screen and it's harder to maintain when a level in the original pack changes.

BTW, We should add those tasks to the bug/issue tracker.
From,
Edward_Lii
User avatar
Edward_Lii
MnMS Moderator
 
Posts: 777
Joined: 20 Dec 2010, 16:46

Re: Level(pack) upload feature

Postby ctdabomb » 21 Mar 2012, 20:25

I like the idea of an addon site like stk's.
The site does have a feature that only lets users upload only certain files (.jpg, .png, .blend, etc...) and they have a moderator that controls if an add-ons is acceptable (like to make sure that it has no bad things in it) (If we do end up having a site like this I can help moderate if people are ok with that) one thing about that is that tracks are a lot harder to make than levels, so a certain standard might have to be set in place to make sure levels are good/fun enough. another option would be to have people post their levels on the forum/bugtracker and have someone upload them if they are good enough to be added. this would allow higher quality addons but maybe not as many.

about translating, you could just have a file(s) in the level folder for each translation or have different translation in the level file itself.
Some people are like slinkies... not really good for anything, but you still can't help smiling when you shove them down the stairs.
ctdabomb
 
Posts: 1075
Joined: 13 Dec 2011, 21:21
Location: halfway there

Re: Level(pack) upload feature

Postby Edward_Lii » 21 Mar 2012, 21:05

Hello ctdabomb,

ctdabomb {l Wrote}:The site does have a feature that only lets users upload only certain files (.jpg, .png, .blend, etc...) and they have a moderator that controls if an add-ons is acceptable (like to make sure that it has no bad things in it) (If we do end up having a site like this I can help moderate if people are ok with that) one thing about that is that tracks are a lot harder to make than levels, so a certain standard might have to be set in place to make sure levels are good/fun enough. another option would be to have people post their levels on the forum/bugtracker and have someone upload them if they are good enough to be added. this would allow higher quality addons but maybe not as many.

Some sort of quality control/moderation is probably needed.
Although it might be better to have levels that are of a lower quality lower on the list instead of rejected.
This way the maker of the level might be encouraged to get more levels in the game (hopefully better) and the levels will be low on the list so less noticed.

But there need to be limits though. :p

ctdabomb {l Wrote}:about translating, you could just have a file(s) in the level folder for each translation or have different translation in the level file itself.

I've also been thinking about adding it in the level itself or in separate files.
I think the logical answer is to put them into different files, for two reasons:
    1. It's easier to see which translation is missing.
    2. The md5sum changes if we add translations to the level file.
    3. All texts from a levelpack can be put in one file which will make translating a lot easier for big levelpacks
While this makes sense for levelpacks it will mean that each level consist out of at least two files (which I don't like).
But how much text do you expect in a single level?
From,
Edward_Lii
User avatar
Edward_Lii
MnMS Moderator
 
Posts: 777
Joined: 20 Dec 2010, 16:46

Re: Level(pack) upload feature

Postby ctdabomb » 21 Mar 2012, 21:18

Edward_Lii {l Wrote}:Some sort of quality control/moderation is probably needed.
Although it might be better to have levels that are of a lower quality lower on the list instead of rejected.
This way the maker of the level might be encouraged to get more levels in the game (hopefully better) and the levels will be low on the list so less noticed.

yes, have like user rating and an admin rating or something?
But there need to be limits though. :p

yes, but for what? the amount/quality of level?
maybe just add some restrictions like levelpacks must have 5+ levels and single levels can be in a separate category where before users upload they should compare their level to a sample level posted their......
Edward_Lii {l Wrote}:I've also been thinking about adding it in the level itself or in separate files.
I think the logical answer is to put them into different files, for two reasons:
    1. It's easier to see which translation is missing.
    2. The md5sum changes if we add translations to the level file.
    3. All texts from a levelpack can be put in one file which will make translating a lot easier for big levelpacks
While this makes sense for levelpacks it will mean that each level consist out of at least two files (which I don't like).

well, one file would be nice, but two files would be the maximum.
Edward_Lii {l Wrote}:But how much text do you expect in a single level?

not much in most except for the title
Some people are like slinkies... not really good for anything, but you still can't help smiling when you shove them down the stairs.
ctdabomb
 
Posts: 1075
Joined: 13 Dec 2011, 21:21
Location: halfway there

Re: Level(pack) upload feature

Postby MCMic » 23 Mar 2012, 00:17

I like the way Nikki and the robots did this thing.
The uploader and downloader must be ingame.

You won't have any security issue, it's a free game, who would want to hack into this? To do what?
User avatar
MCMic
 
Posts: 723
Joined: 05 Jan 2010, 17:40

Re: Level(pack) upload feature

Postby ctdabomb » 23 Mar 2012, 01:36

not really a security issue but mainly quality issue. and there are some bad people out there who lie to hack.
Some people are like slinkies... not really good for anything, but you still can't help smiling when you shove them down the stairs.
ctdabomb
 
Posts: 1075
Joined: 13 Dec 2011, 21:21
Location: halfway there

Re: Level(pack) upload feature

Postby Edward_Lii » 23 Mar 2012, 15:30

Hello MCMic,

MCMic {l Wrote}:I like the way Nikki and the robots did this thing.
The uploader and downloader must be ingame.

One question about that system, is there any way to update/delete uploaded content?

MCMic {l Wrote}:You won't have any security issue, it's a free game, who would want to hack into this? To do what?

Well, the chances are probably pretty slim, but that doesn't mean we should ignore it.
It's not necessarily about security but also about user experience.

If one person decides to abuse the upload functions by sending an (almost) empty level every 4 seconds.
Moderation will be useless against it, and changing the system will mean that other user can't upload their content anymore.

I'm not saying that an in-game interface is impossible, but if we want to do it I think it's best to use accounts.
From,
Edward_Lii
User avatar
Edward_Lii
MnMS Moderator
 
Posts: 777
Joined: 20 Dec 2010, 16:46

Re: Level(pack) upload feature

Postby odamite » 23 Mar 2012, 16:24

Hello everybody,

MCMic {l Wrote}:The uploader and downloader must be ingame.

Maybe it's the best that way. It must be easy as pressing upload button in level editor but an account must also be required.

How we can keep the quality good? If anyone can just upload some empty maps what do we do then? Should we check those maps before they are released or check them after and remove if necessary?

Also where all this will be hosted? I'm not sure if it's allowed to host a file/upload server on SourceForge? For example stkaddons.net is hosted by tuxfamily.org. Lastly how the accounts are managed?
User avatar
odamite
 
Posts: 166
Joined: 16 Jan 2012, 16:28

Re: Level(pack) upload feature

Postby ctdabomb » 23 Mar 2012, 18:33

odamite {l Wrote}:Maybe it's the best that way. It must be easy as pressing upload button in level editor but an account must also be required.

defiently
How we can keep the quality good? If anyone can just upload some empty maps what do we do then? Should we check those maps before they are released or check them after and remove if necessary?

there should defiantly be moderation
Also where all this will be hosted? I'm not sure if it's allowed to host a file/upload server on SourceForge? For example stkaddons.net is hosted by tuxfamily.org. Lastly how the accounts are managed?

I would suggest talking to the people who made the STK addons site about how they do theirs. and the accounts will depend on where we are hosted.
Some people are like slinkies... not really good for anything, but you still can't help smiling when you shove them down the stairs.
ctdabomb
 
Posts: 1075
Joined: 13 Dec 2011, 21:21
Location: halfway there

Re: Level(pack) upload feature

Postby MCMic » 23 Mar 2012, 20:36

Edward_Lii {l Wrote}:Hello MCMic,

MCMic {l Wrote}:I like the way Nikki and the robots did this thing.
The uploader and downloader must be ingame.

One question about that system, is there any way to update/delete uploaded content?

I don't think so.

About accounts, I'm not sure I would have uploaded levels for nikki if I had to create an account. If you does that it must be really easy to create.
User avatar
MCMic
 
Posts: 723
Joined: 05 Jan 2010, 17:40

Re: Level(pack) upload feature

Postby Edward_Lii » 05 Apr 2012, 16:48

Hello all,

A few days ago I asked some question to Sf regarding the usage of the Project Web for a addon manager. (Which we already do).
And the response was quite clear, the project web is exclusively meant for web page content.
This means that if we extend the addon system and the user base grows we might hit the bandwidth threshold, which means temporary shutdown of our project web space.
So I think it's clear that the project web isn't meant for this and that we should respect it by also changing the current addon system.

What this means is that we need a place to host the addons, luckily one of the Sf staff members gave a possible workaround.
His suggestion was to use the use the File Release system to host the, but keep the upload interface on the web space.
Of course we can't just allow users to directly upload to the File Release system, so the initial uploading will be to the project web, after which it should be moved to FRS.

A cron job to copy over the files will work, but have to be run from a different machine since Sf doesn't allow cron jobs on there servers.
We could do this, but we can also keep it manual which can be combined with moderation.
This way files that are below standards/contain non suitable content/language will never get to the end user.

This method has a few pros and cons.
We can make use of the download statistics, and the worldwide mirror system.
But to add a moderator he/she will have to have a Sf account and upload access.

Is this an acceptable method or should we go for a different service/hoster?

Feedback is welcome. :)
From,
Edward_Lii
User avatar
Edward_Lii
MnMS Moderator
 
Posts: 777
Joined: 20 Dec 2010, 16:46

Re: Level(pack) upload feature

Postby ctdabomb » 05 Apr 2012, 19:45

sounds good, but I don't know if this is the best option or not ;)
Some people are like slinkies... not really good for anything, but you still can't help smiling when you shove them down the stairs.
ctdabomb
 
Posts: 1075
Joined: 13 Dec 2011, 21:21
Location: halfway there

Who is online

Users browsing this forum: No registered users and 1 guest