inexorgame-obsolete / deprecated-cube-engine-inexor

UNMAINTAINED: Please have a look at the vulkan-renderer
https://inexor.org
zlib License
11 stars 1 forks source link

Prevent overwriting of default maps in coop edit #119

Open Croydon opened 9 years ago

Croydon commented 9 years ago

Simple deny /savemap execution, when a name of a default map is given. Prevents accidently overwritings and very simple tries of map hackers.

Fohlen commented 9 years ago

Better to add a question box ("do you really want to override this map?")

IAmNotHanni commented 9 years ago

Did you know that there is a /savemap but also a /savecurrentmap command? I did not

Croydon commented 9 years ago

@Fohlen What's the point of overwriting default maps? It's cheating. Even when you are working on a new version of a default map, you can simple give it a working title until this version is getting the new default one.

What is /savecurrentmap doing?

IAmNotHanni commented 9 years ago

whereas /savemap [mapname] requires the name of the map to save (otherwise it will be "untitled" by default), /savecurrentmap will automaticly save the map using the current map name.

Croydon commented 9 years ago

Ewww, no. If the map already has a name /savemap is using the current map name also. So what's the different? Maybe legacy stuff?

IAmNotHanni commented 9 years ago

/// save map data to a file /// automaticly detect map name void savecurrentmap() { save_world(game::getclientmap()); } COMMAND(savecurrentmap, "");

/// save map data to a map file /// @param mname map name void savemap(char *mname) { save_world(mname); } COMMAND(savemap, "s");

Croydon commented 9 years ago

bool save_world(const char _mname, bool nolms) { if(!_mname) mname = game::getclientmap(); setmapfilenames(*mname ? mname : "untitled");

That seems really to be legacy stuff. We should kill savecurrentmap().

Fohlen commented 9 years ago

Agreed.

IAmNotHanni commented 9 years ago

btw: forbidding /savemap for standard maps is a muuuch older discussion. It already came up in the community years ago...

MartinMuzatko commented 6 years ago

AFAIK this was already solved in Sauerbraten by alarming the server, that the player is using a map that is not the same as provided by the server. Either they use checksums or similar. Does this solve this issue?

Since game content will be able to be downloaded on the fly, we may need to add a "featured" label to some maps we want to have part of the core game, and let others still easily join running games. So game content management here is different either way. I would instead allow users to "fork" a map instead of overwriting it, maybe.

Croydon commented 6 years ago

I would instead allow users to "fork" a map instead of overwriting it, maybe.

Agreed. That's why this issue is not done.

we may need to add a "featured" label to some maps we want to have part of the core game

I guess it's a lot easier if we just say the entire essential repository is official (because it is).

MartinMuzatko commented 6 years ago

I guess it's a lot easier if we just say the entire essential repository is official (because it is).

This is another discussion, but the existing workflow in Sauerbraten was, to include the map into the next release. With the media repo decoupled, we are a bit more flexible, which is great. But we also want to prevent overwriting maps that were downloaded from another player and then played in a match. I imagine, that you could also join an ongoing match with the map not being part of the official media repo, and get set up, without other players needing to send the map to you. Like you can do in counter strike for instance.

Croydon commented 6 years ago

Yes, to all.

But this issue is about official maps, not custom ones.

a-teammate commented 6 years ago

But this issue is about official maps, not custom ones.

Initially maybe. But I would argue that a very limited number of official maps, but a lot of commonly played inofficial ones, will make it necessary very soon that we need to find a solution for those.

When people want to modify maps they do not own, they should clearly state their intend to do so.

Prevents accidently overwritings and very simple tries of map hackers.

Maybe we should clear "map hacker prevention" from the goals? Imo this is a non-goal of this issue, since the checksums of the maps get controlled by the server..