![]() |
|
|
#1 |
|
Registered User
Join Date: Feb. 28th, 2005
Posts: 4
|
Replication limits??
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... 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;
}
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 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 by mr.floppy; 28th Feb 2005 at 10:44 AM. |
|
|
|
|
|
#2 | |
|
Registered User
Join Date: Feb. 28th, 2005
Posts: 4
|
Well further testing reveals that I have to be right, just stretching array limits or removing some from replication makes it work as expected. So why wasnt it documented before?, am i the first one trying to replicate that long data?. Well the only hint i found out while searching before was this...
Quote:
But that 448 bytes seems to be refering only to the size of "one array", while my problem seems to arise only depending on global amount of data among all arrays... Thinking about how to solve this i thought about the possibility of trying to replicate several actors of this class having their variable array sizes set up at 10. Hoping that my guess about restrinctions in data size to be replicated is only measured per individual actor. Ill give you more news about this as soon as i get it working, Thanks again for reading
Last edited by Mychaeel; 1st Mar 2005 at 09:36 AM. |
|
|
|
|
|
|
#3 |
|
Registered User
Join Date: Feb. 28th, 2005
Posts: 4
|
Yeh, done; now im replicating several actors with in the way i explained before, and it works fine, still it sucks about the fact that now i have to split emote info into different sections of 10 element arrays to fill tons of actors to get my info replicated proper. Not even close to what i wanted to do, its so messy for a third party to create their own pack of textures and config file
(Thats what i wanted at first, a mutator able to expand with different sets of texture files and config files, without rebuilding any code).So i missed badly, and still im desperate ![]() Please, any idea for strange it may look like would be warmly accepted! Thanks again!. |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|