Been working recently on user permissions as well as hash checks when it comes to Creations being sent from multiplayer servers towards players as well as implemented Images upload similar to one PB2 has now (at PB2.5/3's core, Images have more in common with Custom Maps including description, title, preview, source availability, permissions, should be also possible to update Images that are already used in Custom Maps or Modules). Like in case of Skins, Image updates would most probably will be restricted, though they are not so far (easy to change).
For the most part hash checks are needed to prevent faking and various abuses when it comes to Creations being used while lowering bandwidth usage of main server when players would request Creations files (assuming PB2 cheaper server wasn't be able to handle these kinds of requests at high amounts, for example when some player requests up to 100 various images at once). This way Creations will be delivered by multiplayer servers rather than main server which could also mean faster download in situations where main server would be on another part of the world. This is something that is better to implement earlier than later I believe. Also it just makes sense if some custom server decides to run unoptimized map to the point where it could heavily impact main server performance if it happens too much, though to prevent custom decorations from being overridden midway - client players will still ask main server for hash check and won't show if there is something inappropriate or image is purposely modified by custom multiplayer server.
Tags (or keywords) for Creations should be added later too but not yet sure how these should be implemented as well as global Creations search itself (mostly because I still work on core stuff). In PB2 search was rather both not so good and too slow due to too large database. Quite possibly I should implement some form of API system from the start so search will be implemented by more suitable criteria, possibly Creation lists would be a thing too, though File Manager already supports shortcuts creation, maybe these could replace lists. For example a simple tree structure for Image shortcuts could be made alongside approval with folders (by any PB2.5/3 user in fact).
API for folder contents extraction is something that could be added easily too, so some Modules and Custom Maps could implement simple enough map rotation if needed (for example to make sort of custom approved maps list).
Official "approved" flag would probably only mean verification for Creations whether they don't contain something unacceptable in them for average game's audience. Ranked maps would be probably better structured with same folders/categories, in screenshot you can see one with badly drawn star - these basically support custom images uploaded to them and open with single click by non-owners looking through someone's public folder.
Also yes, most probably Decorations could be added not just to world but as in-game HUD as well as on-screen HUD. Haven't tested all these just because had to implement Images upload to test Decorations from non-library vector images.
--
I do feel like I overcomplicated everything here though. Sure it could be more reliable but also not something that can be done fast. Perhaps once and for any future projects? I don't feel like I used much from any of my previous projects though, even if they were developed as something more like "engines" in mind, especially PB2.
AnarchE
2022-02-22 08:03:52 +0000 UTC