-
-
Notifications
You must be signed in to change notification settings - Fork 685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Player/Character creation via web [$35] #533
Comments
It would be really cool if Player account and Character can be created and logged in via web( not with django admin but the website for normal users). Looking forward to it! |
It's probably time to start looking into just how much Django has improved since last this was attempted. Maybe it's possible to make something powerful enough to be generally useful. Otherwise one may have to consider making one's own admin interface fully under our control (maybe by using something like the external API suggested in #788). |
PR #1115 meant lots of progress towards this issue! |
This has been sitting for a good while, so marking as |
I've done all of the work of multisession_mode=2 account/chargen/management views via the web interface (not the admin though) and would happily submit my implementation via PR, but there are a lot of native inconsistencies between the methods for account creation via client, API and web interface (on the master branch, at least) that led to me making some changes with some of the core classes-- for example, I moved some repeated code blocks found within the create commands to a classmethod on the Account object itself, so the same set of procedures gets called on account creation regardless of whether it's done on the web or the client. (The API is untouched for those who want lower-level control.) When I first started digging into this on the master branch, the same password validation code blocks were copied multiple times across the create command functions, ban handling was not comprehensively applied, CmdPassword does not enforce the same complexity requirements as are imposed at creation and the useful post-creation functionality that does things like add users to the default channels was locked up within Command objects not easily accessible from the web side of things, which led to reinvention of many wheels. It looks like the current build of the dev branch addresses some but not all of these issues. Again, I'm happy to contribute and would decline the bounty, but given my ineptitude with git, before I go to the trouble of preparing a PR kindly let me know if my proposed solution would be too sweeping for addressing this issue. |
@Griatch Is this about users (players) being able to create their own account and their own character, or is this for a server admin/developer to create isolated characters and associate them with a player account? |
@trhr It's about staff being able to use the django admin to create an account-character pair efficiently and easily in all multisession modes. Whereas there have been progress on many fronts (including adding better templates on the front- end, the admin needs write a lot of custom refactoring to make this intuitive. |
I'm not 100% this belongs here rather than a new issue. But I discovered the following today: |
@j3b4 Belatedly, but there is nothing actually stopping you from puppeting another character if you have pupper: access to it. The MULTISESSION_MODE=0 only defines that you can only puppet one Object at a time, and from one client. If you played as superuser you'd be able to puppet anything, really. |
@strikaco This is now ready to close after the last batch of fixes. In light of your extensive additions to this over time, I'd be happy to see you claim the bounty. To do that I think you need to go to BountySource and 'claim' the bounty though. Not sure what happens if I just close the ticket now. 😅 |
@Griatch Cool, thanks. I put in a claim...the economy is not what it was back in 2018 ;P |
Thanks! Closing now that the bounty is claimed. For backers that need to approve it, @strikaco should be getting the bounty of this one, for their contributions to it over a long time. |
Player creation via the web admin works but it is not feasible to create a full Player-Character pairing via the admin at this point. This issue concerns the full pipeline of creating Player and Character in the admin and then log in and play normally under any
MULTISESSION_MODE
.Player cannot get permissions. Permissions are Tags with theresolved in TagAdmin tweaks #1115db_tagtype = "permission"
, and there is currently no way to create new Tags to go with the Player permission. One can select an existing tag (which has to be pre-created in-game at the moment), but the Tag display does not currently show the different tag types so one could accidentally pick a non-permission Tag here if it happens to be named the same as a permission level.Attributes should be fully modifiable from the admin.resolved in TagAdmin tweaks #1115Aliases are Tags withresolved in TagAdmin tweaks #1115db_tagtype="alias"
, there should be a way to set this (nicks are not needed though).The superuser flag sits in the "web only" section. This is the only setting that does matter in-game in the same way as on the web, so it should probably be described somehow in that header (this is just a documentation issue).-Fixed in developFor-Added with button in developMULTISESSION_MODE=0,1
, one should be able to tie a Character to the Player by setting the Object'sdb_player
foreignfield. InMULTISESSION_MODE=2
, one might instead want to assign the character to the_playable_characters
Attribute on the Player. A custom form is probably needed for this linking.Possibly there should be some sort of list of suggested Object cmdsets so one doesn't need to remember and write the path every time. This could be a help text or if possible some selector based onAdded with dynamic help entry in developsettings.CMDSET_*
. Maybe one could consider some sort of clickable buttons that fill in some standard presets ...?When setting a cmdset on a Character in the admin, the cmdset seems to be set to be visible outside the character. The result is that you get multi-command errors when executing commands in the same room as the new Character.Fixed a long time agoTags-Permissions for Characters are needed in the same way as for Players.resolved in TagAdmin tweaks #1115There should probably be some help info or preset for how to set theHandled with button and info-text in developpuppet:
lock to allow a Player to puppet a given Character, such aspuppet:id(<player id>)
.There should probably be a way to connect a Player to a Character in the admin, forFixed in develop.MULTISESSION_MODE=0,1
to not need to use@ic
to connect.There is a $35 open bounty on this issue. Add to the bounty at Bountysource.
The text was updated successfully, but these errors were encountered: