(1256d7edc) Fixed servers using a local campaign save path sent by the client setupping the campaign. Closes #1564
This commit is contained in:
@@ -2047,13 +2047,15 @@ namespace Barotrauma.Networking
|
|||||||
client.SendMessage(msg, NetDeliveryMethod.ReliableUnordered);
|
client.SendMessage(msg, NetDeliveryMethod.ReliableUnordered);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetupNewCampaign(Submarine sub, string savePath, string mapSeed)
|
public void SetupNewCampaign(Submarine sub, string saveName, string mapSeed)
|
||||||
{
|
{
|
||||||
|
saveName = Path.GetFileNameWithoutExtension(saveName);
|
||||||
|
|
||||||
NetOutgoingMessage msg = client.CreateMessage();
|
NetOutgoingMessage msg = client.CreateMessage();
|
||||||
msg.Write((byte)ClientPacketHeader.CAMPAIGN_SETUP_INFO);
|
msg.Write((byte)ClientPacketHeader.CAMPAIGN_SETUP_INFO);
|
||||||
|
|
||||||
msg.Write(true); msg.WritePadBits();
|
msg.Write(true); msg.WritePadBits();
|
||||||
msg.Write(savePath);
|
msg.Write(saveName);
|
||||||
msg.Write(mapSeed);
|
msg.Write(mapSeed);
|
||||||
msg.Write(sub.Name);
|
msg.Write(sub.Name);
|
||||||
msg.Write(sub.MD5Hash.Hash);
|
msg.Write(sub.MD5Hash.Hash);
|
||||||
|
|||||||
@@ -728,7 +728,7 @@ namespace Barotrauma.Networking
|
|||||||
bool isNew = inc.ReadBoolean(); inc.ReadPadBits();
|
bool isNew = inc.ReadBoolean(); inc.ReadPadBits();
|
||||||
if (isNew)
|
if (isNew)
|
||||||
{
|
{
|
||||||
string savePath = inc.ReadString();
|
string saveName = inc.ReadString();
|
||||||
string seed = inc.ReadString();
|
string seed = inc.ReadString();
|
||||||
string subName = inc.ReadString();
|
string subName = inc.ReadString();
|
||||||
string subHash = inc.ReadString();
|
string subHash = inc.ReadString();
|
||||||
@@ -743,7 +743,11 @@ namespace Barotrauma.Networking
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (connectedClient.HasPermission(ClientPermissions.SelectMode)) MultiPlayerCampaign.StartNewCampaign(savePath, matchingSub.FilePath, seed);
|
string localSavePath = SaveUtil.CreateSavePath(SaveUtil.SaveType.Multiplayer, saveName);
|
||||||
|
if (connectedClient.HasPermission(ClientPermissions.SelectMode))
|
||||||
|
{
|
||||||
|
MultiPlayerCampaign.StartNewCampaign(localSavePath, matchingSub.FilePath, seed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user