[A18] Phi - Multiplayer interactions between colonies

Started by Longwelwind, July 24, 2016, 02:45:18 PM

Previous topic - Next topic

Thyme

Thank you.

PS: You might want to remove the CCL requirement from post #1 ;)
I'm from Austria. If I offend you, it's usually inadvertently.
Snowmen army, Chemfuel Generator, Electric Stonecutting, Smelting Tweak

Longwelwind

Version v0.10 is out, making the mod A16 compatible !

You can download it through the link in the first page, or through Steam Workshops (which should happen automatically).

Quote from: Thyme on December 26, 2016, 02:50:53 PM
Thank you.

PS: You might want to remove the CCL requirement from post #1 ;)

Thanks, corrected !

Hikurac

#182
Is this compatible with other mods, like those that add items? Or only vanilla?

EDIT: Got my answer, works fine if both players have the mod apparently.

As for people complaining about balance and exploiting, it's still a single player game. It'd be far easier to just spawn stuff yourself than have your friend send you tons of late-game items. There's no point to it, just have some self control.

Slywyn

Sending colonists does not appear to work currently.

I've tried ensuring that I have more than one colonist available and that the colonist isn't wearing any gear(A suggestion from the Steam Workshop page).

Any insights would be wonderful, if this is a known issue.

dark309

i got problem from disconncet to server
debug log spam and cant stop


Exception filling window for PhiClient.ServerMainTab: System.NullReferenceException: Object reference not set to an instance of an object
  at PhiClient.ServerMainTab.DoBodyRightBar () [0x00000] in <filename unknown>:0
  at PhiClient.ServerMainTab.DoWindowContents (Rect inRect) [0x00000] in <filename unknown>:0
  at Verse.Window+<WindowOnGUI>c__AnonStorey292.<>m__1A0 (Int32 x) [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.<WindowOnGUI>c__AnonStorey292:<>m__1A0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, GUISkin, Int32, Single, Single, GUIStyle)



Iwillbenicetou

Quote from: dark309 on December 29, 2016, 03:45:49 AM
i got problem from disconncet to server
debug log spam and cant stop


Exception filling window for PhiClient.ServerMainTab: System.NullReferenceException: Object reference not set to an instance of an object
  at PhiClient.ServerMainTab.DoBodyRightBar () [0x00000] in <filename unknown>:0
  at PhiClient.ServerMainTab.DoWindowContents (Rect inRect) [0x00000] in <filename unknown>:0
  at Verse.Window+<WindowOnGUI>c__AnonStorey292.<>m__1A0 (Int32 x) [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.<WindowOnGUI>c__AnonStorey292:<>m__1A0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, GUISkin, Int32, Single, Single, GUIStyle)
This is because the mod is trying to get data from a server every tick, but since there is no server to connect and no information, it causes an exception and gies the bug.

For mod author:
Could you make a spot that designates where the shipments land. I've seen and experienced many times where I want the shipments to land where I want, but it doesn't do that.
Mod Help! The basics on how to download mods!

DaemonDeathAngel

In testing the "Send Colonist" Feature, knowing that it may not work, this is the error that was recieved:

System.Runtime.Serialization.SerializationException: Field "skinWhiteness" not found in class PhiClient.RealmPawn
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadTypeMetadata (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectInstance (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject (System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph (BinaryElement elem, System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result, System.Runtime.Remoting.Messaging.Header[]& headers) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in <filename unknown>:0
  at PhiClient.Packet.Deserialize (System.Byte[] data, PhiClient.RealmData realmData, PhiClient.User user) [0x00000] in <filename unknown>:0
  at PhiClient.PhiClient.OnUpdate () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
PhiClient.PhiClient:OnUpdate()
PhiClient.PhiComponent:Update()

Trinan

Hey ive got this problem, and i dont know what should i do  :(

Could not instantiate inspector tab of type PhiClient.PhiInitializer: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: An invalid URI string: ws://futuregadgetlab.net :16180/
Parameter name: url
  at WebSocketSharp.WebSocket..ctor (System.String url, System.String[] protocols) [0x00000] in <filename unknown>:0
  at SocketLibrary.Client..ctor (System.String address, Int32 port) [0x00000] in <filename unknown>:0
  at PhiClient.PhiClient.TryConnect () [0x00000] in <filename unknown>:0
  at PhiClient.PhiInitializer..ctor () [0x00000] in <filename unknown>:0
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
  at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
  at Verse.InspectTabManager.GetSharedInstance (System.Type tabType) [0x00000] in <filename unknown>:0
  at Verse.ThingDef.PostLoad () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.ThingDef:PostLoad()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.XmlToObject:TryDoPostLoad(Object)
Verse.XmlToObject:ObjectFromXml(XmlNode, Boolean)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.<AllDefsFromAsset>c__Iterator1ED:MoveNext()
Verse.ModContentPack:LoadDefs()
Verse.ModContentPack:ReloadAllContent()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__735()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__733()

DaemonDeathAngel

Make sure there are four .dll files in your assembly folder, I had that same issue and was missing an assembly. I also made sure to load PhiClient directly after core in my mod order.

Trinan

hmm i got only one ddl file  ( Rimworld Project . dll )

DaemonDeathAngel

Yeah, you are supposed to have four in the mods/phiclient/assemblies folder, try redownloding the mod from github

WereCat88

I have an idea.

When joining a online server in Rimworld you place your colony on a full-sized planet with other player colonies and make alliances, trade, raid others, and do more things together.

I don't know how doable in terms of modding in Rimworld that is but it would make a whole new gameplay element.
I am The Primal Mammelon

Thyme

Questions like "where do the other colonies go?" "what happens to my caravans when migrating to and from Phi?" need to be answered, because Phi is no persistent (aka no real) multiplayer.

While writing, I had the idea that every player could be a planet (i think we can ignore the need for proper star systems here, and the simulation of them) and trading works via trade ships.
I'm from Austria. If I offend you, it's usually inadvertently.
Snowmen army, Chemfuel Generator, Electric Stonecutting, Smelting Tweak

Trinan

So I have the PhiClient again downloaded and re-inserted and put in the first place. But still have the error

DaemonDeathAngel

Quote from: WereCat88 on January 04, 2017, 05:10:53 AM
I have an idea.

When joining a online server in Rimworld you place your colony on a full-sized planet with other player colonies and make alliances, trade, raid others, and do more things together.

I don't know how doable in terms of modding in Rimworld that is but it would make a whole new gameplay element.

That would require a lot of changing of the core game, and a massive server to be paid for by the modder.