282 lines
11 KiB
Lua
282 lines
11 KiB
Lua
|
|
--[[
|
|
|
|
Copyright (C) 2017 - Auke Kok <sofar@foo-projects.org>
|
|
|
|
"rules" is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU Lesser General Public License as
|
|
published by the Free Software Foundation; either version 2.1
|
|
of the license, or (at your option) any later version.
|
|
|
|
]]--
|
|
|
|
rules = {rules = {}}
|
|
local r = {}
|
|
|
|
r["player"] = [[
|
|
|
|
PLAYER RULES
|
|
|
|
-> Skip to the end for a FAQ!
|
|
|
|
-> To read the Creator rules, type: /rules creator
|
|
|
|
Content:
|
|
[1] Behavior
|
|
[2] Copyright
|
|
[3] Privacy Policy
|
|
[4] Cheating
|
|
[5] Hints
|
|
[6] Light
|
|
[7] Tutorial
|
|
[8] User generated content
|
|
[9] FAQ
|
|
|
|
[1] Behavior
|
|
Inside The Box is meant to be a pleasant place for all players, and
|
|
therefore we ask that all players behave accordingly. That means that
|
|
you should treat this server, the players on it, and those who may
|
|
come to experience the server through some other way with respect
|
|
and as you yourself would like to be treated.
|
|
|
|
It goes without saying that anything that players do that would alter,
|
|
disrupt or upset any part of the experience of players is a bannable
|
|
offense, without warning, and subject to being reported to authorities
|
|
if this is necessary. If you can't figure out what we mean by this,
|
|
please leave immediately.
|
|
|
|
[2] Copyright
|
|
Other than that, you should know that all the work on this server
|
|
is copyrighted, and that your ability to use or re-use any of
|
|
it is restricted and bound to certain conditions. Again, if you
|
|
don't know what this means and what you can or can not do, ask us
|
|
first. Of course, playing on this server is entirely allowed without
|
|
restrictions.
|
|
|
|
[3] Privacy Policy
|
|
You should know that we do monitor and log player conversations and
|
|
player interactions with the server. We do not provide these logs
|
|
to anyone unless legally required to do so, and we do not sell any
|
|
player information to other parties or companies. However, we will use
|
|
player data to analyze and improve the server experience for users,
|
|
so we may watch closely how players behave and interact on the server,
|
|
for instance by creating scores or rankings. If you do not agree with
|
|
this, please leave immediately.
|
|
|
|
[4] Cheating
|
|
Cheating, as described by using unfair means to gain an advantage
|
|
over other players, is expressly prohibited. That means that using
|
|
cheats to fly, look through walls, sprint, using noclip and unfairly
|
|
obtained other player capabilities while on this server are subject to
|
|
an immediate ban without warning. We believe that the best experience
|
|
is had when players experience the real challenge themselves without
|
|
unfair help. If you do discover a way to cheat or exploit, we'd love
|
|
to work with you to resolve this problem. If you don't tell us, but
|
|
abuse it or tell others, we may take action against you.
|
|
|
|
[5] Hints
|
|
We explicitly allow players to discuss and help players with
|
|
hints. This is not cheating. While we think that players get a
|
|
better experience trying to solve a problem and persist in that,
|
|
we realize that sometimes you just may not find that secret, well
|
|
hidden objective.
|
|
|
|
[6] Light
|
|
Because of the amount of available light in the game varies per
|
|
display and per computer, it is always allowed to pick up and move
|
|
torches. We know that certain levels are very dark and this may make
|
|
it very difficult for some players. Therefore we allow you to move
|
|
and place torches where ever you can. Of Course, not every level may
|
|
have torches available for the player to do so.
|
|
|
|
[7] Tutorial
|
|
All players are required to complete the tutorial before they are
|
|
allowed to enter the general lobby. We want to make sure the players
|
|
understand and appreciate the puzzle element of the game before they
|
|
start creating their own challenges.
|
|
|
|
[8] User generated content
|
|
We don't want to take over copyright of your works, but you can't build
|
|
on this server without somehow permitting the server to share your
|
|
creation with other players, and therefore, you are granting us the
|
|
rights to do so. Even if you never submit your creation for review,
|
|
you still grant the server whatever rights are applicable to share
|
|
any content you put in your own creations, and allow the server to
|
|
redistribute it to other people, without reservations.
|
|
|
|
[9] FAQ
|
|
Q: Can I record videos while playing on this server?
|
|
A: Yes, but, if you record with the music from this server, you
|
|
are required to provide the proper attribution, and you may not use
|
|
monetization or otherwise make videos for commercial purposes. The
|
|
credits are: "Lee Rosevere, Music inspired by MiNRS, CC-BY-NC-4.0"
|
|
|
|
Q: I think I found a bug!
|
|
A: contact sofar@foo-projects.org, or `sofar` in the game. Or visit
|
|
the website and visit the Feedback page.
|
|
|
|
Q: Where can I find more information?
|
|
A: Go to: minetest.foo-projects.org
|
|
]]
|
|
|
|
rules.rules["player"] = r.player:gsub("%]","\\]"):gsub("%[","\\["):gsub(";","\\;"):gsub(",","\\,"):gsub("\n", ",")
|
|
|
|
r.creator = [[
|
|
|
|
CREATOR RULES
|
|
|
|
These rules are for people who create puzzle boxes.
|
|
|
|
We want players to enjoy coming to this server, and to spend lots
|
|
of time playing puzzles. In order to promote this, we have a few
|
|
basic ground rules to prevent player frustration and to promote fun
|
|
and challenging puzzles. Some of the things listed below are more
|
|
"guidelines" than hard rules, and some are really hard rules. If
|
|
you think that breaking a rule listed here would improve the game,
|
|
then discuss it with the admins, and be prepared to state your case.
|
|
|
|
1. The puzzle must always remain solvable.
|
|
|
|
An abandoned puzzle is a failed puzzle and a player lost. Do not ever
|
|
make a puzzle that a player *must* leave to reset. If your puzzle
|
|
needs some sort of reset button, you need to build it with the tools
|
|
available to you in the box creator mode.
|
|
|
|
2. Dying must never be required to complete a box.
|
|
|
|
A player must never feel like having to commit suicide. There should
|
|
always be a way out. If the player is actually in an unsolvable
|
|
situation, you should kill the player immediately, for instance by
|
|
flooding the player in lava.
|
|
|
|
3. Do not create "manholes" that the player can get stuck in.
|
|
|
|
A stuck player is an abandoning player. Either kill the player or
|
|
allow the player to recover.
|
|
|
|
4. Do not make darkness an essential part of your puzzle.
|
|
|
|
Your monitor may be nice and bright, but some people may have bad
|
|
vision or a darker monitor. And your cave system with 20 cave parts
|
|
that has 1 torch is just impossible to do without cheating and turning
|
|
up gamma on the monitor. Dark boxes promote cheating and give an
|
|
unfair advantage. You can use darkness as an occasional feature,
|
|
or even anti-feature (e.g. making nonessential parts dark), but if
|
|
your box is mostly dark, it's not acceptable.
|
|
|
|
5. Do not use fake items.
|
|
|
|
Planting empty items or decoy items is the opposite of creativity,
|
|
and frustrates players. Try to reward the player instead. Unconnected
|
|
switches, empty chests, locked itemframes that are not in a "hint"
|
|
position or clearly decorative are all sources of frustration.
|
|
|
|
6. Do not make boxes that are 3/4 empty.
|
|
|
|
Empty large spaces feel boring and allow the player to quickly see
|
|
almost everything they need to find. Fill up the space, even up and
|
|
down, as much as you can do with decoration or playable areas.
|
|
|
|
7. When submitting, expect feedback, and update your box
|
|
|
|
Everyone wins if your boxes are better. You get a better box that will
|
|
be played more and where players are spending more time playing it.
|
|
|
|
8. Use buttons, not switches
|
|
|
|
Unless you need the player to flip a switch *two times*, you should
|
|
always use a button with a filter to open that door, create some node,
|
|
or open a pathway.
|
|
|
|
9. Don't build on the bottom.
|
|
|
|
This is a sure way to get yourself into trouble or make an
|
|
uninteresting and open box. Always throw some basic landscaping in
|
|
place with the landscaping tool and build at least a few blocks up.
|
|
|
|
10. Decorate, decorate, decorate
|
|
|
|
4 hours is almost the minimum of time you'll need to spend building to
|
|
make a decently decorated and well functioning puzzle, and more if you
|
|
add lots of mechanical components. You can not, I repeat, not make a
|
|
box in 30 minutes and expect it to be "well done". Even box 6, which
|
|
has a meager sub-100 nodes took several hours of work to get right.
|
|
|
|
Use the paint tool. Diversify your nodes. Use slabs to create relief
|
|
and texture. But don't overmix things either. 5 different color
|
|
flowers isn't stylish. Mixing certain blocks for building material
|
|
may also not match well.
|
|
|
|
11. Don't make a puzzle, first!
|
|
|
|
Always, always make the background and stage for your puzzle first.
|
|
It already is really hard to think of a good way to capture your
|
|
player and to tell a story, but you really can't do it unless there
|
|
is a clear atmosphere with a story present. The style of your box, the
|
|
areas that the player needs to visit, these all dictate the obstacles
|
|
that the player will have to overcome, and are easy puzzle elements
|
|
that you can add to make the puzzle more complex and more enjoyable.
|
|
|
|
12. Avoid signs and icons
|
|
|
|
Don't repeat the name of the box. Don't put your name somewhere
|
|
on a sign. These are all things that break the "4th wall" for players
|
|
and ruin the immersion feeling. A door bell on a normal house doesn't
|
|
have the word "doorbell" next to it. Icons similarly are not really
|
|
meant for decoration or hints, and usually distract more than anything.
|
|
|
|
13. Don't leave hints in your box
|
|
|
|
Don't use a terminal for player hints. They always figure it out,
|
|
and it breaks the 4th wall. Plus most of the time, the terminals
|
|
are a distraction. The terminals are for lore and stories you may
|
|
want to share. Try and stay away from personal stuff and overly
|
|
dramatic passages, though. It's a game, and should remain fun for
|
|
everyone.
|
|
|
|
14. Parkours rules
|
|
|
|
This server isn't meant for endless hardcore parkours. We will
|
|
accept boxes that are parkour focused but the emphasis should be
|
|
on puzzles and not jumps. On top of that, jumps must not be one
|
|
of these or further than these: 1 node up and over a 3 node gap;
|
|
across a level 4 node gap. 1 node down and over a 5 node gap; Any
|
|
jump should be reasonably doable. In doubt: if you can not repeat
|
|
the same jump 5x in succession without failing, it's too difficult.
|
|
]]
|
|
|
|
rules.rules["creator"] = r.creator:gsub("%]","\\]"):gsub("%[","\\["):gsub(";","\\;"):gsub(",","\\,"):gsub("\n", ",")
|
|
|
|
function rules.show(name, t)
|
|
local f =
|
|
"size[12,8]" ..
|
|
"field_close_on_enter[input;false]" ..
|
|
"textlist[0.4,0.5;11,6;rules;" ..
|
|
rules.rules[t] ..
|
|
"]" ..
|
|
"button_exit[0.7,7;11.2,1;close;Close]"
|
|
|
|
fsc.show(name, f, {}, function() end)
|
|
end
|
|
|
|
minetest.register_chatcommand("rules", {
|
|
description = "Display server rules",
|
|
func = function(name, param)
|
|
if rules.rules[param] then
|
|
rules.show(name, param)
|
|
else
|
|
rules.show(name, "player")
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_on_joinplayer(function(player)
|
|
local name = player:get_player_name()
|
|
minetest.after(15, function(n)
|
|
if minetest.player_exists(n) then
|
|
minetest.chat_send_player(n, "Remember to read the server rules! Type `/rules` to review them.")
|
|
end
|
|
end, name)
|
|
end)
|
|
|