Many Errors

albatron

New member
Hello, I downloaded your addon and updated to 26.06.2025. I launch the offline scene, then click “Host” and switch to the online scene, and a lot of errors appear. I can’t do anything after that. Previously, I downloaded the Character Controller and everything was working. Maybe I need to configure something additionally for your addon?
1751016771596.png
 
Hello, I downloaded your addon and updated to 26.06.2025. I launch the offline scene, then click “Host” and switch to the online scene, and a lot of errors appear. I can’t do anything after that. Previously, I downloaded the Character Controller and everything was working. Maybe I need to configure something additionally for your addon?
View attachment 14311
Are you removed the last version ?
Are you using the new prefabs? custom prefabs?
It's on Client or Server Authoritative Model?

Check this please /!\

=> Are you using TPC FPC or UCC?
 
Last edited:
I haven't uninstalled the version, does that matter? I just updated it to the newest one. I only used the prefabs from the addon (mirror controller). Errors both on the client and server side. Thanks for the reply, I'll go take a look. I'll post when I get results
 
I haven't uninstalled the version, does that matter? I just updated it to the newest one. I only used the prefabs from the addon (mirror controller). Errors both on the client and server side. Thanks for the reply, I'll go take a look. I'll post when I get results
Yes, it is extremely important, remove directly the folder:
  • Assets/BloodCloudStudio/
 
Hi @albatron,
I misreferenced the ItemSetManager. I've fixed eveything. I'll upload an update; you'll have it soon.
If you want to fix it yourself, delete line 15 of NetworkMoveWithObject.cs:
  • using ExitGames.Client.Photon.StructWrapping;
And reference the empty grenades in the ItemSetManager in the prefab:
  • Atlas Network
 
Set Camera to default renderer in the prefab:
  • Camera Network
=> I haven't had much time to properly test and fix the Rideable, first I fix the errors, I will take care of the Rideable later.
 
Set Camera to default renderer in the prefab:
  • Camera Network
=> I haven't had much time to properly test and fix the Rideable, first I fix the errors, I will take care of the Rideable later.
Hi, I did everything as you said. In your demo scene everything works fine, but when I add the Network Manager and the Network Game in my own project, for some reason everything breaks when the client connects. For some reason, its list of registered prefabs gets cleared, and it tries to spawn the canvas or camera but says that it’s not registered. I completely copied the offline and online scenes and just added my own scripts, which don’t affect the addon’s code, but even then I’m still getting errors. I tried setting everything up through the config in Tools, but even that didn’t help. Error in side client. Server not have errors

1751528272165.png
in server in server
in client in client
 
Hi, I did everything as you said. In your demo scene everything works fine, but when I add the Network Manager and the Network Game in my own project, for some reason everything breaks when the client connects. For some reason, its list of registered prefabs gets cleared, and it tries to spawn the canvas or camera but says that it’s not registered. I completely copied the offline and online scenes and just added my own scripts, which don’t affect the addon’s code, but even then I’m still getting errors. I tried setting everything up through the config in Tools, but even that didn’t help. Error in side client. Server not have errors

View attachment 14346
View attachment 14347 in server
View attachment 14348 in client

v0.8.2 (Published)​

Note: Clean install required.
  • Fixed reconciliation issues
  • Improvement of reconciliation interfaces
  • Removed NetworkCharacterInput states
  • Fixed hidden objects client world spawn (renamed local world spawn)
  • Fixed setup manager HUD network address
 

v0.8.2 (Published)​

Note: Clean install required.
  • Fixed reconciliation issues
  • Improvement of reconciliation interfaces
  • Removed NetworkCharacterInput states
  • Fixed hidden objects client world spawn (renamed local world spawn)
  • Fixed setup manager HUD network address
1751530157929.png
is client.
The error hasn't gone away. I understand the problem is some kind of spavnom camera on the client. At the same time something breaks in the network manager on the client. On the server everything is fine. I did not even change the player and did not change the network manager. Just copied what was in offline and online scenes and transferred it to myself. Replaced in Setup Manager offline and online scenes are not their own and that's it
 
Hello, discovered more bugs.
1) When a player aims at the targeting (host at least) and connecting client at this time, the client crashes and says that it can not target anyone aim
2) When a player sits in the car (Rccp package) (host at least) and connecting client, it crashes and says it can not sit in the car
3) When aim is enabled by default (as an ability, without aiming), enemy ai looks normal, but if you give Enemy Tag to a player, the one who is aiming starts wobbling the camera.
 
Hello, discovered more bugs.
1) When a player aims at the targeting (host at least) and connecting client at this time, the client crashes and says that it can not target anyone aim
2) When a player sits in the car (Rccp package) (host at least) and connecting client, it crashes and says it can not sit in the car
3) When aim is enabled by default (as an ability, without aiming), enemy ai looks normal, but if you give Enemy Tag to a player, the one who is aiming starts wobbling the camera.
This is a pre-release, it is indicated that the Drive has not yet been supported, the AssistAim need a fix, like the Ride.
For the debugging use Discord please and for video use insert media please.

=> If you don't send me the error logs I can't know where the problem comes from, but I will take a closer look at this from Tuesday.
=> Client or Server Authoritative Model?
=> First or Third Person Perspective?
 
Last edited:
I'll post this a little later. Right now the main problem is NetworkServer.Spawn. It does not spawn the object on the client, if I put the usual network manager everything works, maybe you have some other logic for spawning objects that replaces NetworkServer.Spawn?
 
I'll post this a little later. Right now the main problem is NetworkServer.Spawn. It does not spawn the object on the client, if I put the usual network manager everything works, maybe you have some other logic for spawning objects that replaces NetworkServer.Spawn?
NetworkUtility.TrySpawn() (use BloodCloudStudio.Network.Mirror.Utility.NetworkUtility for all logic please)
 
using System;
using System.Linq;
using BloodCloudStudio.Network.Mirror.Utility;
using gta_mirror.Containers;
using gta_mirror.Cores;
using gta_mirror.Events;
using Mirror;
using UnityEngine;
using VContainer;
using VContainer.Unity;

public class NetworkSpawner : AbstractNetworkBehaviour
{
[Inject] private IEventer _eventer;

private IObjectResolver _resolverClient;

private IObjectResolver _resolverServer;

protected override void ClientInit()
{
_resolverClient = LifetimeScope.Find<GameClientDI>().Container;

_eventer.Subscribe<EventNeedNetworkSpawnClient>(SpawnClient);
}

protected override void ServerInit()
{
_resolverServer = LifetimeScope.Find<GameServerDI>().Container;

_eventer.Subscribe<EventNeedNetworkSpawnServer>(SpawnServer);

_eventer.Subscribe<EventNeedNetworkSpawnGeneral>(SpawnGeneral);
}

private void SpawnGeneral(EventNeedNetworkSpawnGeneral eventNeedNetworkSpawnGeneral)
{
var spawnedObj = CreateObj(eventNeedNetworkSpawnGeneral);

if (eventNeedNetworkSpawnGeneral.Owner != null)
{
NetworkUtility.TrySpawn(spawnedObj, eventNeedNetworkSpawnGeneral.Owner);
}
else
{
NetworkUtility.TrySpawn(spawnedObj);
}

_resolverServer.InjectGameObject(spawnedObj);

InitializeObj(spawnedObj);

if (eventNeedNetworkSpawnGeneral.Guid == Guid.Empty)
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = spawnedObj});
}
else
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = spawnedObj, Guid = eventNeedNetworkSpawnGeneral.Guid}, eventNeedNetworkSpawnGeneral.Guid);
}


ClientRPCSpawnGeneral(spawnedObj.GetComponent<NetworkIdentity>(), eventNeedNetworkSpawnGeneral.Guid);
}

[ClientRpc]
private void ClientRPCSpawnGeneral(NetworkIdentity identityObject, Guid guid)
{
return;
_resolverClient.InjectGameObject(identityObject.gameObject);

InitializeObj(identityObject.gameObject);

if (guid == Guid.Empty)
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = identityObject.gameObject});
}
else
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = identityObject.gameObject, Guid = guid}, guid);
}
}

private void SpawnClient(EventNeedNetworkSpawnClient eventNeedNetworkSpawnClient)
{
var spawnedObj = CreateObj(eventNeedNetworkSpawnClient);

_resolverClient.InjectGameObject(spawnedObj);

InitializeObj(spawnedObj);

Debug.Log($"Spawned {spawnedObj.name} Guid = {eventNeedNetworkSpawnClient.Guid}");

if (eventNeedNetworkSpawnClient.Guid == Guid.Empty)
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = spawnedObj});
}
else
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = spawnedObj, Guid = eventNeedNetworkSpawnClient.Guid}, eventNeedNetworkSpawnClient.Guid);
}
}

private void SpawnServer(EventNeedNetworkSpawnServer eventNeedNetworkSpawn)
{
GameObject spawnedObj = CreateObj(eventNeedNetworkSpawn);

_resolverServer.InjectGameObject(spawnedObj);

InitializeObj(spawnedObj);

if (eventNeedNetworkSpawn.Guid == Guid.Empty)
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = spawnedObj});
}
else
{
_eventer.Publish(new EventNetworkSpawned(){ObjectSpawned = spawnedObj, Guid = eventNeedNetworkSpawn.Guid}, eventNeedNetworkSpawn.Guid);
}
}

private GameObject CreateObj(IEventSpawn eventSpawn)
{
if (eventSpawn.Parent)
{
return Instantiate(eventSpawn.Prefab, eventSpawn.Parent);
}
else
{
return Instantiate(eventSpawn.Prefab, eventSpawn.Position, eventSpawn.Rotation);
}
}

private void InitializeObj(GameObject obj)
{
var allMonoBehaviours = obj.GetComponentsInChildren<AbstractMonoBehaviour>()
.OrderByDescending(mb => mb.Priority)
.ToArray();

foreach (var component in allMonoBehaviours)
{
component.TryInit();
}

var allNetworkBehaviours = obj.GetComponentsInChildren<AbstractNetworkBehaviour>();

if (IsServerInit)
{

allNetworkBehaviours = allNetworkBehaviours.OrderByDescending(mb => mb.PriorityServer)
.ToArray();

foreach (var component in allNetworkBehaviours)
{
component.TryServerInit();
}
}

if (IsClientInit)
{
allNetworkBehaviours = allNetworkBehaviours.OrderByDescending(mb => mb.PriorityClient)
.ToArray();

foreach (var component in allNetworkBehaviours)
{
component.TryClientInit();
}
}

}

private void OnDestroy()
{
if (IsServerInit)
{
_eventer.Unsubscribe<EventNeedNetworkSpawnServer>(SpawnServer);
_eventer.Unsubscribe<EventNeedNetworkSpawnGeneral>(SpawnGeneral);
}
else
{
_eventer.Unsubscribe<EventNeedNetworkSpawnClient>(SpawnClient);
}


}
}
 
Back
Top