Fisrt of all, let me introduce myself:
Im a coder since 8 years, mainly doing stuff on c, c++ and java.
Lately ive been messing around with unrealscript as right now im coding some mutator to add smilies and avatars for screen messages in a game called "Rune" based on the unrealengine.
Now to the problem, I decided to split up the textures for icons and fonts into separate utx files and planned having a server side configuration (.ini) file for that emotes pack holding variable configuration for emote sizes, associated tags, frames of animation, delays for animation etc. Meaning like 4 or 5 arrays of integers or strings.
For that parameters to work in a "server to client" direction (not in anyother way) i had to replicate such values for clients ill paste a little snip:
EDIT: sorry forgot to use the code tags before...
Well this thing should work but just when the actor is created on the client and it gets to be replicated the whole server crashes, complaining that:
Well with big testing on this matter i tried removing some of those arrays
from the replication section. Et voilá, worked pretty fine, the rest of replication variables were replicated without a single error...
Further tests revealed that none of that arrays was responsible for the crash
alone (trying every kind of possible combination).
So the final question is: is there any byte length limit for data which is to be replicated?, if thats the case do you know about any workaround i could use to get the thing working proper?
Thank you very much in advance, and a warm hello to the comunity!
Im a coder since 8 years, mainly doing stuff on c, c++ and java.
Lately ive been messing around with unrealscript as right now im coding some mutator to add smilies and avatars for screen messages in a game called "Rune" based on the unrealengine.
Now to the problem, I decided to split up the textures for icons and fonts into separate utx files and planned having a server side configuration (.ini) file for that emotes pack holding variable configuration for emote sizes, associated tags, frames of animation, delays for animation etc. Meaning like 4 or 5 arrays of integers or strings.
For that parameters to work in a "server to client" direction (not in anyother way) i had to replicate such values for clients ill paste a little snip:
EDIT: sorry forgot to use the code tags before...
Code:
var config int EmoXL[20];
var int A_EmoXL[20];
var config int EmoYL[20];
var int A_EmoYL[20];
var config string EmoTexIndexes[20];
var string A_EmoTexIndexes[20];
var config int EmoMaxRate[20];
var int A_EmoMaxRate[20];
var config int NumEmos;
var int A_NumEmos;
var config string EmoString[20];
var string A_EmoString[20];
replication
{
reliable if( Role == ROLE_Authority )
A_EmoXL;
reliable if( Role == ROLE_Authority )
A_EmoYL;
reliable if( Role == ROLE_Authority )
A_EmoMaxRate;
reliable if( Role == ROLE_Authority )
A_EmoTexIndexes;
reliable if( Role == ROLE_Authority )
A_EmoString;
reliable if( Role == ROLE_Authority )
A_NumEmos;
}
Well this thing should work but just when the actor is created on the client and it gets to be replicated the whole server crashes, complaining that:
Code:
appError called:
Assertion failed: !Bunch->IsError() [File:D:\Rune\Engine\Src\UnChan.cpp] [Line:
310]
Executing UObject::StaticShutdownAfterError
UChannel::SendBunch
DoSendBunch
UActorChannel::ReplicateActor
(Actor TRServerEmoData0)
UpdateRelevant
ULevel::ServerTickClient
ULevel::TickNetServer
UpdateNetServer
ULevel::Tick
(NetMode=1)
TickLevel
UGameEngine::Tick
UpdateWorld
UServerCommandlet::Main
Assertion failed: !Bunch->IsError() [File:D:\Rune\Engine\Src\UnChan.cpp] [Line:
310]
History: UChannel::SendBunch <- DoSendBunch <- UActorChannel::ReplicateActor <-
(Actor TRServerEmoData0) <- UpdateRelevant <- ULevel::ServerTickClient <- ULevel
::TickNetServer <- UpdateNetServer <- ULevel::Tick <- (NetMode=1) <- TickLevel <
- UGameEngine::Tick <- UpdateWorld <- UServerCommandlet::Main
Exiting due to error
Exiting.
Name subsystem shut down
Well with big testing on this matter i tried removing some of those arrays
from the replication section. Et voilá, worked pretty fine, the rest of replication variables were replicated without a single error...
Further tests revealed that none of that arrays was responsible for the crash
alone (trying every kind of possible combination).
So the final question is: is there any byte length limit for data which is to be replicated?, if thats the case do you know about any workaround i could use to get the thing working proper?
Thank you very much in advance, and a warm hello to the comunity!
Last edited: