Commit graph

1080 commits

Author SHA1 Message Date
Lucas Nicodemus
e4e28cb1b5
Version tick: 5.2.2 2025-02-01 22:32:36 +09:00
ohayo
53789b40e4 Prevent further things from clients who dont handshake
- The player will only finish the handshake once they spawn their player, a normal client would always do this eventually.

- They cannot chat, even if they request world data but just not spawn their player.

- Other clients will not be notified of their join/leave in both cases (dont request WD or do but dont spawn)

- And most importantly, they do not show on the in game player list but still show on the server console /playing cmd.
2025-01-31 09:17:26 +10:00
ohayo
d35934b3a2 Check for bans on connection as well as join, etc
Should prevent people from being able to bypass this.
2025-01-30 22:46:13 +10:00
Lucas Nicodemus
1762f59a78
Merge branch 'general-devel' into general-devel 2025-01-25 22:37:52 +09:00
quicm
5075997264 Add bandaid fix to RemoteClient.Reset for SecAd GHSA-hvm9-wc8j-mgrc 2024-12-17 01:15:56 +10:30
Cai
7419205548 rename 2024-07-31 19:24:53 +08:00
Cai
8df09cb4a8 fix: /help, /me, and /p commands can't work in non-English languages 2024-07-31 19:11:50 +08:00
Lucas Nicodemus
c67d5cf152
Version tick: 5.2 2023-05-10 01:51:05 -04:00
Jonathan Rascher
b833e48526 Remove unnecessary range check for quick stack 2023-03-09 21:55:52 -06:00
James Puleo
794bff5ef7
Initialize achievements and the AchievementManager on the server
The `AchievementTagHandler` expects `Main.Achievements` to be non-null,
which is not normally the case on dedicated servers. When trying to
parse an achievement chat tag, it will instead throw.

The tag is parsed when calling `ChatManager.ParseMessage`, which is used
in TShock when writing chat messages to the console. Our `OnChat`
handler uses `Utils.Broadcast`, which will send the message to all
connected clients, write the message to the console and the log. Due to
the order of execution, the message ends up being sent to all connected
clients, but throws whilst trying to write to the console, and never
gets written to the log.

To solve the issue, we make achievements available on the server,
allowing the tag handler to work as expected, and even allowing the
localization of achievements names to appear in the console.
2022-12-05 23:24:58 -08:00
ATFGK
e46bbe99c0
Pvp with no team (#2851)
* Update TShockConfig.cs

* Update TShock.cs

* Update GetDataHandlers.cs

* Update changelog.md

* Update GetDataHandlers.cs

* Update changelog.md

* Update changelog.md

* Update changelog.md
2022-12-05 22:27:42 -08:00
Luke
b24fd4fe43 Merge remote-tracking branch 'upstream/general-devel' into config/WorldTileProvider 2022-11-27 15:16:32 +10:00
Lucas Nicodemus
6421c7623a
Version tick: 5.1.3 2022-11-24 23:58:45 -07:00
Luke
b8afcd874d Add ToLower to WorldTileProvider switch
Allows "room for error in capitalization" as per review discussion.
2022-11-12 10:03:42 +10:00
Luke
0f46b1255a Add WorldTileProvider to tshock config
This allows the tshock tile providers to be switched via the config instead of cli args via tsapi, for environments where the command line args cannot be changed.
2022-11-12 07:28:26 +10:00
Lucas Nicodemus
15c8bf8436
Fix bug from i18nification
Wrong paren match
2022-11-10 00:25:45 -08:00
Lucas Nicodemus
ea96b3dc70
Version tick: 5.1.0 2022-11-10 00:09:39 -08:00
SGKoishi
fde43a7730
More i18n
Strings for player kick/ban, anti-cheating and server logs
2022-11-02 13:42:52 -07:00
Lucas Nicodemus
1baad06484
Version tick: 5.0.0 2022-10-31 16:51:05 -07:00
SGKoishi
d1a6c293f2
i18n commands 2022-10-24 13:49:26 -07:00
SGKoishi
b766e045b5
Use i18n for most string.Format if shown in log, console or client side 2022-10-24 13:38:33 -07:00
James Puleo
3163c88d4a
Allow PacketTypes.SyncLoadout during early connection
This mirrors the behavior in `MessageBuffer` when only accepting
specific packets under state `10`.
2022-10-22 17:14:56 -04:00
Luke
aa0bd7deb2 Merge branch 'general-devel' into otapi3 2022-09-06 22:23:34 +10:00
Lucas Nicodemus
1d4d19f961 Version tick: 4.5.18
And also, add changelog entry for dependabot change
2022-08-16 20:57:26 -07:00
NotGeri
953622c8e1 Add -worldevil startup parameter 2022-06-29 17:10:18 +02:00
Lucas Nicodemus
07becc3c8f Change language from fatal startup exceptions
The previous language was true but slightly unhelpful to non-native
English speakers and users who aren't familiar with server software.
When a fatal startup exception occurs now, TShock tells you what this
means and that it won't be able to start until this is resolved.
2022-04-02 11:53:53 -07:00
Lucas Nicodemus
32f2f6a33d Merge branch 'general-devel' into otapi3 2022-04-01 01:10:00 -07:00
Luke
b01c75b274 Remove older SQLite SetDllImportResolver call 2022-03-27 21:54:28 +10:00
Luke
c063aabbc0 Switch to Microsoft.Data.Sqlite for arm64
There is a slight change the the way QueryResult works in order to satisfy the variances in the new library.
Disposing of the command with the reader appears to solve this, and hopefully, with minimal impact to plugins.
2022-03-27 21:38:58 +10:00
Lucas Nicodemus
1e5e3cd864 Version tick: 4.5.17 2022-03-18 20:35:50 -07:00
gohjoseph
203b9bf281 Remove unneeded kick display adminUsername 2022-03-18 01:56:59 +08:00
gohjoseph
8b064a7e22 Fix NetHooks_NameCollision to kick duplicate players.
- Fixes Pryaxis/TShock#2530
2022-03-18 00:35:02 +08:00
Luke
d2a060b76e Create module subsystem under TShockAPI.Modules
This should allow for TShock.cs to be split up to mini-modules, or "micro-plugins"
2022-03-05 22:49:52 +10:00
Lucas Nicodemus
d3adc6db42 Merge branch 'general-devel' into otapi3 2022-02-28 22:32:22 -08:00
Lucas Nicodemus
0f13de4ee3 Version tick: 4.5.15 2022-02-28 14:04:34 -08:00
Lucas Nicodemus
aafed511a6 Swap 0 with PlayerAnnounceResult.None
In 44034c7649 I added a magic 0 instead of
a call to an enum because I was looking at an outdated diff that didn't
have `None` as an option. Turns out this was added a day later in a
commit I didn't see originally. Changed to `None` to make code better
documentation wise.
2022-02-28 00:34:28 -08:00
Lucas Nicodemus
44034c7649 Set args.Result to 0 in PlayerAnnounce hook
In
8204e2b3f9,
`PlayerAnnounceResult` was introduced, replacing `HookResult`, which changed
the result for `PlayerAnnounce` to a byte called `PlayerAnnounceResult`.
There are two options, `SendToPlayer` and `WriteToConsole`, set to 1 and 2
respectively. Because TShock handles this, we're setting it to 0, i.e.,
don't notify anybody.
2022-02-28 00:20:00 -08:00
Lucas Nicodemus
acde508c53 Merge branch 'general-devel' into otapi3 2022-02-28 00:15:06 -08:00
Lucas Nicodemus
92ea78f4c8 Remove Rpi doomsday scenario 2022-02-25 01:45:55 -08:00
Lucas Nicodemus
6591b455fc Version tick: 4.5.13 2022-02-16 19:45:57 -08:00
Luke
cec53c780f Merge branch 'general-devel' into otapi3 2021-11-27 17:53:28 +10:00
Lucas Nicodemus
996229b9af Force shutdown server if SIGINT is received twice
Previously, I updated the SIGINT handler so that it would safely shut
down. This is because I'm an idiot and like most people like me, I use
CTRL + C as my exclusive way to close all programs in the command line
environment. This poses a risk because it doesn't save the world and
shuts down improperly.

However, I forgot that Terraria has interactive menus that you can't
exit from. So, in these menus, the only way out was CTRL + C. @Onusai
reported this, so this changes the behavior a second time.

Now, when passing SIGINT, you can pass it twice. This will cause the
program to actually exit on the second time, such as when you're stuck
at a menu. Hooray.
2021-11-25 11:26:09 -08:00
Luke
f48dda3ae3 Improve native resolutions 2021-11-24 21:32:11 +10:00
Luke
a5a75e3f50 Implement System.Data.SQLite
TODO: determine if we can do something better than a resolver
2021-11-24 07:49:03 +10:00
Luke
8edd0393e5 Initial OTAPI3 port
TODO: sqlite
2021-11-23 20:49:41 +10:00
Arthri
350d76c315 Fix bad XML(unescaped ampersand) 2021-11-23 17:13:02 +08:00
Lucas Nicodemus
42ca83e6b5 Update version codename and changelog for 1.4.3 2021-11-19 22:39:45 -08:00
Chris
09a2947cf4
Merge branch 'general-devel' into fix-invalid-groups 2021-08-25 19:16:57 +09:30
quake1337
91376ae087
Merge branch 'general-devel' into fix-invalid-groups 2021-07-31 16:38:12 +02:00
quake1337
51348d1806 Fixes for PR 2397.
- GroupManager now validates core groups in the constructor.
- EnsureCoreGroupsPresent -> AssertCoreGroupsPresent.
- Fix indentiation in some places.
- Clarify the intent of this PR in CHANGELOG.md.
2021-07-31 16:34:43 +02:00