Merge branch 'general-devel' of https://github.com/nyxstudios/TShock into general-devel
This commit is contained in:
commit
a99414e712
8 changed files with 44 additions and 17 deletions
22
CHANGELOG.md
22
CHANGELOG.md
|
|
@ -2,7 +2,27 @@
|
|||
|
||||
This is the rolling changelog for TShock for Terraria. Use past tense when adding new entries; sign your name off when you add or change something. This should primarily be things like user changes, not necessarily codebase changes unless it's really relevant or large.
|
||||
|
||||
## TShock 4.3.0.1
|
||||
## TShock 4.3.2 (Unreleased)
|
||||
|
||||
* Fixed the issue where using the Super Absorbent Sponge would disable users (@WhiteXZ)
|
||||
* Fixed an issue in NetGetData where e.Length - 1 would be -1 (@WhiteXZ)
|
||||
* Fixed /who -i and /userinfo (@Enerdy)
|
||||
* API: OnRegionEntered hook now returns the region entered (@Patrikkk)
|
||||
* Support for Terraria 1.3.0.4 (@nicatronTg)
|
||||
* Fixed dressers being unbreakable. (@nicatronTg)
|
||||
* Fixed wall placement mechanics (@nicatronTg, @Ijwu, @WhiteXZ)
|
||||
* Fixed Moon Lord projectiles disabling players (@k0rd, @nicatronTg)
|
||||
* Fixed several potential crashes in server (@Patrikkk)
|
||||
* Fixed -autocreate command line argument (@WhiteXZ, @nicatronTg)
|
||||
* Added more world data to world load menu (@WhiteXZ)
|
||||
* Moved server password to TShock config (@Enerdy)
|
||||
* Fixed world delete in server (@benjiro)
|
||||
* Fixed disappearing NPCs (@WhiteXZ)
|
||||
* Added much more performant code, SendQ, to server module. Reduces downstream network overhead by at least 40% (@tylerjwatson)
|
||||
* API: Updated TSPlayer.Disable to use new buffs (@Enerdy)
|
||||
* Updated default max projectile damage to 1,175 (based on 625 people)
|
||||
|
||||
## TShock 4.3.1
|
||||
|
||||
* Fixed a bug where /user group failing would output no error. (@nicatronTg)
|
||||
* Fixed a bug where /user group would fail. @(Enerdy)
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ namespace TShockAPI
|
|||
public int MaxDamage = 175;
|
||||
|
||||
[Description("The maximum damage a projectile can inflict.")]
|
||||
public int MaxProjDamage = 175;
|
||||
public int MaxProjDamage = 1175;
|
||||
|
||||
[Description("Kicks a user if set to true, if they inflict more damage then the max damage.")]
|
||||
public bool KickOnDamageThresholdBroken = false;
|
||||
|
|
|
|||
|
|
@ -1944,9 +1944,10 @@ namespace TShockAPI
|
|||
}
|
||||
else if (action == EditAction.KillWall)
|
||||
{
|
||||
// If they aren't selecting an hammer, they're hacking.
|
||||
if (selectedItem.hammer == 0 && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0)
|
||||
// If they aren't selecting an hammer, they could be hacking.
|
||||
if (selectedItem.hammer == 0 && !ItemID.Sets.Explosives[selectedItem.netID] && args.Player.RecentFuse == 0 && selectedItem.createWall == 0)
|
||||
{
|
||||
|
||||
args.Player.SendTileSquare(tileX, tileY, 1);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -2474,7 +2475,7 @@ namespace TShockAPI
|
|||
bool hasPermission = !TShock.CheckProjectilePermission(args.Player, index, type);
|
||||
if (!TShock.Config.IgnoreProjUpdate && !hasPermission && !args.Player.Group.HasPermission(Permissions.ignoreprojectiledetection))
|
||||
{
|
||||
if (type == 100 || type == 164 || type == 180 || type == 261 || (type > 289 && type < 298) || (type >= 325 && type <= 328) || (type >= 345 && type <= 352) || (type >= 435 && type <= 438))
|
||||
if (type == 622 || (type >= 638 && type <= 642) || type == 100 || type == 164 || type == 180 || type == 261 || (type > 289 && type < 298) || (type >= 325 && type <= 328) || (type >= 345 && type <= 352) || (type >= 435 && type <= 438))
|
||||
{
|
||||
TShock.Log.Debug("Certain projectiles have been ignored for cheat detection.");
|
||||
}
|
||||
|
|
@ -2778,7 +2779,7 @@ namespace TShockAPI
|
|||
return true;
|
||||
}
|
||||
|
||||
if (flag != 0 && Main.tile[tileX, tileY].type != 21 && (!TShock.Utils.MaxChests() && Main.tile[tileX, tileY].type != 0)) //Chest
|
||||
if (flag != 0 && Main.tile[tileX, tileY].type != 21 && Main.tile[tileX, tileY].type != 88 && (!TShock.Utils.MaxChests() && Main.tile[tileX, tileY].type != 0)) //Chest
|
||||
{
|
||||
args.Player.SendTileSquare(tileX, tileY, 3);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ using System.Text;
|
|||
using System.Threading;
|
||||
using System.Timers;
|
||||
using Terraria;
|
||||
using Terraria.ID;
|
||||
using TShockAPI.DB;
|
||||
using TShockAPI.Net;
|
||||
using Timer = System.Timers.Timer;
|
||||
|
|
@ -770,13 +771,17 @@ namespace TShockAPI
|
|||
public int ActiveChest = -1;
|
||||
public Item ItemInHand = new Item();
|
||||
|
||||
/// <summary>
|
||||
/// Disables the player for the given <paramref name="reason"/>.
|
||||
/// </summary>
|
||||
/// <param name="reason">The reason why the player was disabled.</param>
|
||||
/// <param name="displayConsole">Whether or not to log this event to the console.</param>
|
||||
public virtual void Disable(string reason = "", bool displayConsole = true)
|
||||
{
|
||||
LastThreat = DateTime.UtcNow;
|
||||
SetBuff(33, 330, true); //Weak
|
||||
SetBuff(32, 330, true); //Slow
|
||||
SetBuff(23, 330, true); //Cursed
|
||||
SetBuff(47, 330, true); //Frozen
|
||||
SetBuff(BuffID.Frozen, 330, true);
|
||||
SetBuff(BuffID.Stoned, 330, true);
|
||||
SetBuff(BuffID.Webbed, 330, true);
|
||||
|
||||
if (ActiveChest != -1)
|
||||
{
|
||||
|
|
@ -798,6 +803,7 @@ namespace TShockAPI
|
|||
LastDisableNotification = DateTime.UtcNow;
|
||||
}
|
||||
}
|
||||
|
||||
var trace = new StackTrace();
|
||||
StackFrame frame = null;
|
||||
frame = trace.GetFrame(1);
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit e0d62e9b9092496c61f86f721235e7b488349d0a
|
||||
Subproject commit 088c5f707f0ae1f948ee5dac4566702a5d85e07e
|
||||
Binary file not shown.
|
|
@ -11,7 +11,7 @@ cur_wd = os.getcwd()
|
|||
release_dir = os.path.join(cur_wd, "releases")
|
||||
|
||||
terraria_bin_name = "TerrariaServer.exe"
|
||||
sql_bins_names = ["Mono.Data.Sqlite.dll", "MySql.Data.dll", "MySql.Web.dll"]
|
||||
sql_bins_names = ["Mono.Data.Sqlite.dll", "MySql.Data.dll"]
|
||||
sqlite_dep = "sqlite3.dll"
|
||||
json_bin_name = "Newtonsoft.Json.dll"
|
||||
http_bin_name = "HttpServer.dll"
|
||||
|
|
@ -56,7 +56,7 @@ def create_base_zip(name):
|
|||
zip.write(terraria_bin_name)
|
||||
zip.write(sqlite_dep)
|
||||
zip.write(http_bin_name, os.path.join("ServerPlugins", http_bin_name))
|
||||
zip.write(json_bin_name, os.path.join("ServerPlugins", json_bin_name))
|
||||
zip.write(json_bin_name, json_bin_name)
|
||||
zip.write(bcrypt_bin_name, os.path.join("ServerPlugins", bcrypt_bin_name))
|
||||
for f in sql_bins_names:
|
||||
zip.write(f, os.path.join("ServerPlugins", f))
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ upload_headers = {'Authorization': 'token ' + token, 'Content-Type':'application
|
|||
#upload the binary, resulting in a complete binary
|
||||
r = requests.post(upload_url, data=open(release_name, 'rb'), headers = upload_headers, verify=False)
|
||||
|
||||
read_and_update_config_on_confluence(config_desc_page, "ConfigDescriptions.txt")
|
||||
read_and_update_config_on_confluence(ssc_desc_page, "ServerSideConfigDescriptions.txt")
|
||||
read_and_update_config_on_confluence(permissions_desc_page, "PermissionsDescriptions.txt")
|
||||
read_and_update_config_on_confluence(rest_desc_page, "RestDescriptions.txt")
|
||||
# read_and_update_config_on_confluence(config_desc_page, "ConfigDescriptions.txt")
|
||||
# read_and_update_config_on_confluence(ssc_desc_page, "ServerSideConfigDescriptions.txt")
|
||||
# read_and_update_config_on_confluence(permissions_desc_page, "PermissionsDescriptions.txt")
|
||||
# read_and_update_config_on_confluence(rest_desc_page, "RestDescriptions.txt")
|
||||
Loading…
Add table
Add a link
Reference in a new issue