Commit graph

5154 commits

Author SHA1 Message Date
Killia0
9b249d72a8
Merge branch 'general-devel' into upstream-general-devel 2021-07-24 19:48:54 -04:00
Killia0
2a80e22e12 Update CHANGELOG.md 2021-07-24 19:47:29 -04:00
Lucas Nicodemus
dcf1f07ff9
Merge pull request #2387 from Stealownz/general-devel
Fix SendTileRectHandler not sending tile rect updates to everyone else
2021-07-24 16:23:41 -07:00
Lucas Nicodemus
aae0c9fbae
Merge branch 'general-devel' into general-devel 2021-07-24 16:21:52 -07:00
Lucas Nicodemus
c71bcc02b9
Update PR template changelog warning 2021-07-24 16:19:59 -07:00
Lucas Nicodemus
59f7ea0245
I'm seeing things 2021-07-21 19:22:45 -07:00
Lucas Nicodemus
87d5b769c7 Version tick: 4.5.5 2021-07-21 18:46:01 -07:00
Lucas Nicodemus
5a96688796 Merge branch 'advistory-fix-1' into general-devel 2021-07-21 18:44:11 -07:00
James Puleo
853715cfa7
Update changelog to be _much_ more verbose about GHSA-jq4j-v8pr-jv7j 2021-07-21 21:40:44 -04:00
Lucas Nicodemus
6ad57ba517
Fix changelog typos 2021-07-21 18:14:46 -07:00
Killia0
154bee58f1 Typo fixes on comments/strings
My first PR contribution to TShock is spellcheck huh, frankly I don't know why but hey I could spare the time for this and caught some stuff.
2021-07-16 14:53:37 -04:00
Chris
35d9a8e715
Merge pull request #2390 from moisterrific/patch-29
Add permission check for summoning Empress of Light + ForceTime check for using Enchanted Sundial
2021-07-17 03:46:37 +09:30
stacey
26460a13c4
Merge branch 'general-devel' into patch-29 2021-07-16 14:07:32 -04:00
Chris
2d04a67c5f
Merge pull request #2399 from moisterrific/patch-30
Player count option for MOTD
2021-07-17 02:18:24 +09:30
stacey
d61ebb4111
Update TSPlayer.cs 2021-07-16 12:20:13 -04:00
stacey
fabea62d96
Update CHANGELOG.md 2021-07-15 16:16:19 -04:00
stacey
89695c3965
separate online players / max slots in stock MOTD 2021-07-15 16:13:51 -04:00
stacey
1e9804a13d
Separate current player count and max server slots 2021-07-15 16:12:36 -04:00
stacey
7e479ea396
Update CHANGELOG.md 2021-07-15 15:57:00 -04:00
stacey
b8b86a42fd
Add space after comma so names look less clustered 2021-07-15 15:51:14 -04:00
stacey
2dc887266d
Add player count 2021-07-15 15:50:02 -04:00
stacey
b88d1f562f
Add player count support for MOTD 2021-07-15 15:48:27 -04:00
stacey
0316f9d502
update change log again 2021-07-11 23:22:31 -04:00
stacey
2a6bc51dd6
Change EoL summon to be more consistent w/ config
now this should be more in line with how other boss summons are currently handled, also made the sundial user messages better thx to quake's suggestions
2021-07-11 23:11:28 -04:00
James Puleo
ef603f61a8
Consistently use TilePlacementValid and SendTileSquare in Bouncer.
There are 3 different ways Bouncer uses these:
- Not checking `TilePlacementValid` at all.
- Checking `TilePlacementValid`, rejecting, but then doing a
  `SendTileSquare` to that player.
- Checking `TilePlacementValid`, rejecting. _(this is what we should
  always be doing)_

Not checking `TilePlacementValid` can allow for placement outside of the
world (unknown results), and checking `TilePlacementValid` and sending a
`SendTileSquare` on rejection causes the server to try to frame that
square. In the case of invalid coordinates (negative), framing takes
much longer than expected.
2021-07-10 00:10:45 -04:00
stacey
dd9067a50a
Update CHANGELOG.md 2021-07-04 21:38:34 -04:00
stacey
65bbd80ca6
Add perm check for EoL + Sundial ForceTime check
If the player does not have permission to summon bosses, they should not be able to kill Prismatic Lacewing, which summons the Empress of Light. 
Using the Enchanted Sundial while ForceTime is set to day or night (via config) will conflict with TShock's continued attempts to set it back to day or night, this makes the world appear very glitchy.
2021-07-04 21:33:48 -04:00
Stealownz
a26ad7dce0 Fix SendTileRectHandler not sending tile rect updates to everyone else
Fixes #2386
2021-07-04 17:20:57 +08:00
Lucas Nicodemus
c5421460ae Re-enable console input via TSAPI submodule bump
This re-enables command input when backgrounded. To disable this
behavior, pass -disable-commands. This patch is from @DeathCradle, who
we love immensely. Please give him all of your money. It's the ethical
thing to do.

Fixes #1450.
2021-06-20 22:24:42 -07:00
Lucas Nicodemus
9c748abda8 Minor: add h, this commit is worthless, do not read
Told you.
2021-06-19 01:08:55 -07:00
Lucas Nicodemus
eb97bdd259 Add helpful note to rest rate-limit error
The rate limiting error message used the term "tokens," which could be
easily misconstrued to refer to REST auth tokens, and not rate limit
leaky-bucket tokens. Since we don't expose the internals of the leaky
bucket to end-users, this error message is essentially just not good.
Without knowledge of a leaky bucket/GCRA, it really makes no sense.

Therefore, this changes the message to indicate that the "tokens" are
rate-limit tokens. It also adds a hint that there's a config setting
that can be changed to raise the limit, which further makes it more
understandable, and also provides a reasonable hint as to what setting
to change to alleviate this problem immediately. This makes it easier
for users to debug and less likely they have to read old docs/wait for help.
2021-06-19 01:04:00 -07:00
Lucas Nicodemus
f4c894ea22 Merge remote-tracking branch 'drunderscore/patch-1' into general-devel 2021-06-14 00:03:31 -07:00
James Puleo
98c1587e44
Print proper expected player ID when handling
spoofed LandGolfBallInCup.

(edited manually on GitHub, should be okay though)
2021-06-14 03:00:35 -04:00
Lucas Nicodemus
146ee41d9e Show world path in /worldinfo
This allows server operators to more easily locate their world paths,
particularly on Linux and macOS, where it isn't very obvious. To
determine where the actively loaded world is, simply run `/worldinfo`.
2021-06-13 23:49:53 -07:00
Lucas Nicodemus
f1481dd0ec Add more helpful notes to changelog re. config
This adds more notes to the changelog for the config file change.
2021-06-13 13:44:39 -07:00
Lucas Nicodemus
a88c44e0db Remove old ConfigFile class
This was deprecated and replaced.
2021-06-13 13:20:43 -07:00
Lucas Nicodemus
95346e36d4 Update credits on the for group deletion
Fixes #2165 (as of 4d46e58865)
2021-06-13 01:15:42 -07:00
Lucas Nicodemus
4d46e58865 Prevent users from removing default guest group
The default guest group is critical and shouldn't be removed without
either TShock doing something like automatically recreating it if it
doesn't exist, or not having a huge problem if it doesn't exist.

I chose to take the easiest path, preventing users from removing it. In
theory the message gives enough context to imply "okay, go change the
group now."

This should be a relatively small edge case but I wanted to resolve it
while I was here.
2021-06-13 01:09:03 -07:00
Lucas Nicodemus
25a7e9e83a Fix warp send nullcheck
@punchready reported that there was an issue with the /warp send command
checking for position != (0,0). I tried to figure out what was going on
here, and I came up dry. I think this is vestigial from some other
database or file format storage. When @MarioE converted everything to
the new warp system, he preserved the check. The problem is that the
check seems to be based on the idea that a non-existent warp would
return the default constructor (which would contain Point.Zero).
Instead, a warp not found returns a null now.

Therefore, the proper thing to do, as implied by @punchready, is to
simply nullcheck this value instead.
2021-06-13 00:14:32 -07:00
Lucas Nicodemus
eba106a6da Add obvious deprecation warnings to comments
(In the old ConfigFile to prevent repeat incidents of
8cd6bf7d7b)
2021-06-13 00:04:45 -07:00
Lucas Nicodemus
8cd6bf7d7b Fix failure to apply default config changes
TShock.ConfigFile was deprecated and therefore changes applied in
previous commits were not applied until now.

See:

* f567486c47
* 39147355c1
* 597e403d50
2021-06-12 23:56:23 -07:00
Lucas Nicodemus
da163b80ac Allow operators to disable build permission notices
This commit allows server operators to disable build permission failure
notices. This is because some servers wish to have a "silent" operation
mode where the server doesn't send out these messages to users. This
makes sense, e.g., when the server is a "museum" and isn't intended to
be changed.
2021-06-12 23:53:17 -07:00
Lucas Nicodemus
f567486c47 Change default config for respawn timer to 10s
The default value for the respawn timer was 5 seconds, but this always
looked wrong because the default game respawn time is at least 10
seconds for classic characters. This can always be changed in the config
file, but looks significantly better when it matches the default imho.
2021-06-12 22:27:39 -07:00
Lucas Nicodemus
4100ecb64e Fix dead players being able to run /home
This commit fixes an issue where players could bypass the respawn timer
by using /home. Specifically, TShock rejects the command if the player
is dead.
2021-06-12 22:26:01 -07:00
Lucas Nicodemus
fd97c2268a Send success messages as Color.LightGreen
Basically Color.Green looks ugly and Color.LightGreen looks less ugly. I
could see changing the default to something like pure green, but I think
this might cause people to be like "yo why is this so bright."

Now arguably this should be configurable but I'm not going to
revolutionize the world by abandoning far more important work to allow
more artful messages. I just think that Color.Green is ugly enough that
I can't tolerate it.
2021-06-12 13:22:56 -07:00
Lucas Nicodemus
34da464bab Intercept console interrupt and handle nicely
Long ago in the early days of TShock someone asked why CTRL + C wasn't
handled and there was an explanation given along the lines of "something
something not supported on mono something something" or similar.
Attempts were made to try to handle console interrupts unsuccessfully
and the code was ripped out.

However, it's 2021, and we can now handle this signal and do the right
thing (which, ostensibly, is to save the world and shut down). Many
people like me reflexively hit CTRL + C because they want to shut down
the process. It's very infuriating that the current behavior results in
the server just dying and nothing being cleaned up properly.

Therefore, this commit changes the behavior to handle the interrupt,
save the world, and shut down nicely.

(If you still want to shutdown without saving the world, use off-nosave,
or idk, send SIGKILL).
2021-06-12 12:18:55 -07:00
Lucas Nicodemus
933c5f9e49 Fix typo in "Amethyst Gemtree"
🍬
2021-06-11 10:22:39 -07:00
Lucas Nicodemus
bf403a17ec Add /god alias for /godmode
Some of these commands really need more intuitive aliases. Therefore,
I've added another intuitive alias that matches other server mods.
2021-06-06 01:19:12 -07:00
Lucas Nicodemus
f811be6cf8 Add /slay alias for /kill
Like all of the other server mods I've used use /slay and not /kill and
it's really frustrating to type the wrong thing so I'm just going to add
an alias and hope nobody else minds.
2021-06-05 20:32:29 -07:00
Lucas Nicodemus
fb84ebc283 Remove "potential lag spike" warning when saving
It just seems silly to say "potential lag spike" when the world saves
because we have SSDs now, and quite frankly it's not hard to write a
file out.
2021-06-05 20:30:08 -07:00