Skip to content
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

Extend mod to also support invites #15

Merged
merged 22 commits into from Mar 8, 2022

Conversation

SwissalpS
Copy link
Contributor

@SwissalpS SwissalpS commented Feb 15, 2022

This PR moves this mod from 'spy-ware' to 'assist-ware'.

As before, moderators can silently observe any player that is not observing another player.
The moderator priv is configurable.

New: Players can invite other players to observe them. Invitations can be accepted or denied.
Who can invite, is controlable with priv (defaults to interact)

All the chat-commands are configurable.
Temporary privs can be given to observers, same set for sneak-observers and invited ones or separate set.

Observers can be aided with life-support, or not depending on settings and overrides.

Before I repeat the entire readme: take a look at readme file for an overview.
Also the commit history on the invite branch of my fork gives a sense of what has been added.

Also adds mineunit tests to ensure some testable situations are always checked on commits.

I hope you like it, if not, I at least had fun coding it :)

Edit:
fixes: #12
fixes: #14
fixes: #9 (if I understood correctly what his issue was)
fixes #6 (please test to confirm)
closes #5 (though that was already done earlier)

solves: minetest-mods#10

needs to be tested

* more accurate restore of paramaters

* add luacheck workflow

* use same reference everywhere
So we have some kind of protection at least.
* invitable mechanics - players can invite other players if they have the priv (defaults to interact) Invited player needs to confirm. Beerchat mute support.

* Well if it's DWTFYWPL, then I'm changing that to GPL3

So we have some kind of protection at least.

* luacheck, changes

* adds mineunit testing

* register privs later when other mods are loaded to allow usage of existing priv

* many parameters can be set from settings or via global table

* logs attach and detach as actions

* can be configured to keep players/moderators alive when observing. Also can give temporary privs to both types of players.

* hud elements to show during observe can be configured per server settings or global table
README.md Outdated Show resolved Hide resolved
@kilbith
Copy link
Collaborator

kilbith commented Feb 17, 2022

I kind of disagree with the license move to LGPL. I'm fine with something more permissive like MIT.

I'm leaving the technical details to @SmallJoker

@SwissalpS
Copy link
Contributor Author

I'm fine with something more permissive like MIT.

I'm ok with that too. As long as it's a licence that actually does protect globally, which DWTFYW does not - so I've been told. Not a lawyer here :)

spec/LICENSE Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
- some spelling fixes
- move settings description entirely to settingtypes.txt
- give settingtypes.txt some air
init.lua Outdated Show resolved Hide resolved
init.lua Outdated Show resolved Hide resolved
init.lua Show resolved Hide resolved
init.lua Outdated Show resolved Hide resolved
init.lua Show resolved Hide resolved
init.lua Outdated Show resolved Hide resolved
init.lua Outdated Show resolved Hide resolved
init.lua Outdated Show resolved Hide resolved
Copy link
Member

@SmallJoker SmallJoker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested functionality:

➖ Watch a player -> the attachment position is not on eye level. Is this intended?
✔️ Leave with "target" player
✔️ Leave with "watcher" player
✔️ Attempt to watch player without privs
✔️ Accept, decline and expire invites
➖ No feedback message when there's nothing to /unwatch

Seems to work. Trivial comments, otherwise okay.

@SwissalpS
Copy link
Contributor Author

SwissalpS commented Feb 22, 2022

Tested functionality:

heavy_minus_sign Watch a player -> the attachment position is not on eye level. Is this intended?

I think so, copied the offset from how the mod worked before. Feels ok to me, one can orbit the observed player nicely especially if noclip privs are temporarily granted.
Edit: The mod description says: "A mod for Minetest allowing players to watch other players in their 3rd person view."
Third person is usually not at eye level.

heavy_minus_sign No feedback message when there's nothing to /unwatch

I can add that. Today or tomorrow. Edit: done

when launching mineunit with --engine-version 5.5.0 flag some
functions are provided
adding a wrapper to detach() seems preferable than changing
the way detach() works.
@SmallJoker
Copy link
Member

Looks good. Thanks.
I will merge this PR in a few days if there are no objections in the meantime.

@SwissalpS
Copy link
Contributor Author

Thanks :)

@SmallJoker SmallJoker merged commit 1b031eb into minetest-mods:master Mar 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants