Merge branch 'general-devel' of https://github.com/nyxstudios/TShock into general-devel

This commit is contained in:
White 2015-07-10 16:59:44 +09:30
commit a99414e712
8 changed files with 44 additions and 17 deletions

View file

@ -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)

View file

@ -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;

View file

@ -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;

View file

@ -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.

View file

@ -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))

View file

@ -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")