-
Notifications
You must be signed in to change notification settings - Fork 14
/
release_notes_server.html
4605 lines (4546 loc) · 556 KB
/
release_notes_server.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>BigWorld Technology Server Release Notes</title><link rel="stylesheet" href="bigworld.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="bigworld-header"><img src="http://try.bigworldtech.com/bigworld/image.php?img=bigworld_logo.gif&svn=$HeadURL: https://svn01.bigworldtech.com/svn/customers/Xingyulongying/2.0/current/bigworld/doc/release_notes_server.html $" alt="bw logo"></div><div id="content"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="Server_Release_Notes"></a>BigWorld Technology Server Release Notes</h1></div><div><p class="releaseinfo">BigWorld Technology 2.0. Released 2010.</p></div><div><p class="copyright">Copyright © 1999-2010 BigWorld Pty Ltd. All rights reserved. </p></div><div><div class="legalnotice"><a name="d0e17"></a><p>This document is proprietary commercial in confidence and access
is restricted to authorised users. This document is protected by
copyright laws of Australia, other countries and international treaties.
Unauthorised use, reproduction or distribution of this document, or any
portion of this document, may result in the imposition of civil and
criminal penalties as provided by law.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="article"><a href="#d0e20">BigWorld Technology 2.0.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e23">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e30">BigWorld Technology 2.0 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e33">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e40">2. Important Notes</a></span></dt><dt><span class="section"><a href="#xref_2_0_0_New_Features">3. New Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e63">3.1. Script & Script API</a></span></dt><dt><span class="section"><a href="#d0e160">3.2. Entity Definitions & Property Types</a></span></dt><dt><span class="section"><a href="#d0e193">3.3. Database & Billing Systems</a></span></dt><dt><span class="section"><a href="#d0e202">3.4. FantasyDemo & Examples</a></span></dt><dt><span class="section"><a href="#d0e214">3.5. Fault Tolerance & Disaster Recovery</a></span></dt><dt><span class="section"><a href="#d0e229">3.6. Cluster Management</a></span></dt><dt><span class="section"><a href="#d0e251">3.7. Miscellaneous</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e281">4. Changed Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e284">4.1. General</a></span></dt><dt><span class="section"><a href="#d0e321">4.2. Script & Script API</a></span></dt><dt><span class="section"><a href="#d0e402">4.3. Entity Definitions & Property Types</a></span></dt><dt><span class="section"><a href="#d0e433">4.4. Database & Billing Systems</a></span></dt><dt><span class="section"><a href="#d0e535">4.5. Fault Tolerance & Disaster Recovery</a></span></dt><dt><span class="section"><a href="#d0e605">4.6. Watchers</a></span></dt><dt><span class="section"><a href="#d0e624">4.7. Server Tools</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e648">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e736">6. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e753">BigWorld Technology 1.9.6.12 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e756">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e788">BigWorld Technology 1.9.6.11 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e791">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e825">BigWorld Technology 1.9.6.10 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e828">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e842">BigWorld Technology 1.9.6.9 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e845">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e854">BigWorld Technology 1.9.6.8 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e857">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e866">BigWorld Technology 1.9.6.7 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e869">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e894">BigWorld Technology 1.9.6.6 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e897">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e918">BigWorld Technology 1.9.6.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e921">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e954">BigWorld Technology 1.9.6.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e957">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1043">BigWorld Technology 1.9.6.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1046">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1065">BigWorld Technology 1.9.6.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1068">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1077">BigWorld Technology 1.9.6.1 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e1082">BigWorld Technology 1.9.6 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1085">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e1092">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e1099">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e1146">4. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e1167">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e1243">6. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1457">BigWorld Technology 1.9.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1460">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e1467">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e1477">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e1503">4. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e1529">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e1568">6. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1763">BigWorld Technology 1.9.4.5 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e1768">BigWorld Technology 1.9.4.4 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e1773">BigWorld Technology 1.9.4.3 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e1778">BigWorld Technology 1.9.4.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1781">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e1807">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1826">BigWorld Technology 1.9.4.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1829">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e1866">BigWorld Technology 1.9.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1869">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e1876">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e1883">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e1890">4. Changed Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1893">4.1. DBMgr</a></span></dt><dt><span class="section"><a href="#d0e1982">4.2. Mercury / Network</a></span></dt><dt><span class="section"><a href="#d0e1996">4.3. BaseApp</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e2018">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e2119">6. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e2314">BigWorld Technology 1.9.3.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e2317">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e2391">BigWorld Technology 1.9.3.4 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e2396">BigWorld Technology 1.9.3.3 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e2401">BigWorld Technology 1.9.3.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e2404">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e2413">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e2428">BigWorld Technology 1.9.3.1 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e2433">BigWorld Technology 1.9.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e2436">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e2443">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e2465">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e2608">4. Changed Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e2611">4.1. 64 bit</a></span></dt><dt><span class="section"><a href="#d0e2618">4.2. DBMgr</a></span></dt><dt><span class="section"><a href="#d0e2650">4.3. LoginApp</a></span></dt><dt><span class="section"><a href="#d0e2687">4.4. BaseApp</a></span></dt><dt><span class="section"><a href="#d0e2713">4.5. CellAppMgr</a></span></dt><dt><span class="section"><a href="#d0e2722">4.6. Entities</a></span></dt><dt><span class="section"><a href="#d0e2740">4.7. Mercury / Network</a></span></dt><dt><span class="section"><a href="#d0e2749">4.8. Server Tools</a></span></dt><dt><span class="section"><a href="#d0e2786">4.9. Web Integration Module</a></span></dt><dt><span class="section"><a href="#d0e2818">4.10. Miscellaneous</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e2843">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e2939">6. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3115">BigWorld Technology 1.9.2.6 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3118">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3169">BigWorld Technology 1.9.2.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3172">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3208">BigWorld Technology 1.9.2.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3211">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3255">BigWorld Technology 1.9.2.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3258">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3267">BigWorld Technology 1.9.2.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3270">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e3309">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3323">BigWorld Technology 1.9.2.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3326">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3359">BigWorld Technology 1.9.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3362">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e3369">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e3376">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e3472">4. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3713">BigWorld Technology 1.9.1.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3716">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3738">BigWorld Technology 1.9.1.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3741">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3760">BigWorld Technology 1.9.1.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3763">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e3778">BigWorld Technology 1.9.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e3781">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e3788">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e3811">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e3951">4. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e4193">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e4355">6. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e4563">BigWorld Technology 1.9.0.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e4566">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e4576">BigWorld Technology 1.9.0.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e4579">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e4609">BigWorld Technology 1.9.0.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e4612">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e4627">BigWorld Technology 1.9.0.2 Server Release Notes</a></span></dt><dt><span class="article"><a href="#d0e4632">BigWorld Technology 1.9.0.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e4635">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e4668">BigWorld Technology 1.9 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e4671">1. Important Notes</a></span></dt><dt><span class="section"><a href="#d0e4764">2. New Features</a></span></dt><dt><span class="section"><a href="#d0e5018">3. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e5288">4. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e5376">5. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5550">BigWorld Technology 1.8.6.7 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5553">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5560">BigWorld Technology 1.8.6.6 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5563">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e5604">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5638">BigWorld Technology 1.8.6.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5641">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e5648">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5655">BigWorld Technology 1.8.6.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5658">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5668">BigWorld Technology 1.8.6.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5671">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e5686">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5708">BigWorld Technology 1.8.6.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5711">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5721">BigWorld Technology 1.8.6.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5724">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e5738">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5757">BigWorld Technology 1.8.6 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5760">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e5795">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e5833">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e5948">BigWorld Technology 1.8.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e5951">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6003">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e6027">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e6053">4. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6193">BigWorld Technology 1.8.4.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6196">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e6211">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6223">BigWorld Technology 1.8.4.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6226">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6268">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6277">BigWorld Technology 1.8.4.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6280">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6290">BigWorld Technology 1.8.4.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6293">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6303">BigWorld Technology 1.8.4.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6306">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6319">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6338">BigWorld Technology 1.8.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6341">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6363">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e6370">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e6428">4. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6560">BigWorld Technology 1.8.3.5 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6563">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6576">BigWorld Technology 1.8.3.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6579">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6586">BigWorld Technology 1.8.3.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6589">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6602">BigWorld Technology 1.8.3.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6605">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6636">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e6658">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6698">BigWorld Technology 1.8.3.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6701">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6711">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e6718">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6740">BigWorld Technology 1.8.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6743">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e6779">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e6786">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e6814">4. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6946">BigWorld Technology 1.8.2.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6949">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e6962">BigWorld Technology 1.8.2.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e6965">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e7002">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e7046">BigWorld Technology 1.8.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e7049">1. Important Notes</a></span></dt><dt><span class="section"><a href="#d0e7078">2. New Features</a></span></dt><dt><span class="section"><a href="#d0e7236">3. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e7293">4. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e7493">5. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e7625">BigWorld Technology 1.8.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e7628">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e7702">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e7775">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e7839">BigWorld Technology 1.8 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e7842">1. Important Notes</a></span></dt><dt><span class="section"><a href="#d0e7873">2. New Features</a></span></dt><dt><span class="section"><a href="#d0e8126">3. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e8442">4. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e8513">5. Known Bugs & Limitations</a></span></dt><dt><span class="section"><a href="#d0e8608">6. Deprecated Features</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e8646">BigWorld Technology 1.7.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e8649">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e8779">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e8812">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e8939">BigWorld Technology 1.7.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e8942">1. New Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e9250">1.1. Space Viewer</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e9348">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e9469">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e9757">BigWorld Technology 1.7 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e9760">1. Important Notes</a></span></dt><dt><span class="section"><a href="#d0e9796">2. New Features</a></span></dt><dt><span class="section"><a href="#d0e10104">3. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e10326">4. Space Viewer</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10329">4.1. New/Changed Features</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e10372">5. General Meter</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10375">5.1. New/Changed Features</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e10394">6. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e10545">7. Known Bugs & Limitations</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e10605">BigWorld Technology 1.6.4 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10608">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e10657">2. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e10720">BigWorld Technology 1.6.3 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10723">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e10796">BigWorld Technology 1.6.2 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10799">1. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e10809">BigWorld Technology 1.6.1 Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10812">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e10880">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e10895">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e10977">4. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e10986">BigWorld Technology 1.6 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e10989">1. Renamed Files</a></span></dt><dt><span class="section"><a href="#d0e11057">2. New Features</a></span></dt><dt><span class="section"><a href="#d0e11154">3. New Tool Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e11157">3.1. bots</a></span></dt><dt><span class="section"><a href="#d0e11167">3.2. control_cluster</a></span></dt><dt><span class="section"><a href="#d0e11183">3.3. Space Viewer</a></span></dt><dt><span class="section"><a href="#d0e11196">3.4. GMeter</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e11203">4. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e11331">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e11455">6. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e11462">BigWorld Technology 1.5.1 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e11465">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e11472">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e11479">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e11498">4. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e11508">BigWorld Technology 1.5 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e11511">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e11581">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e11663">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e11754">4. Known Issues</a></span></dt><dt><span class="section"><a href="#d0e11764">5. GMeter: New/Changed Features</a></span></dt><dt><span class="section"><a href="#d0e11774">6. GMeter: Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e11787">7. Server Viewer: Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e11797">8. Space Viewer: New/Changed Features</a></span></dt><dt><span class="section"><a href="#d0e11804">9. Logger: New Features</a></span></dt><dt><span class="section"><a href="#d0e11817">10. mls: New Features</a></span></dt><dt><span class="section"><a href="#d0e11824">11. Misc: New/Changed Features</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e11834">BigWorld Technology 1.4.2 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e11837">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e11895">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e11950">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e12044">4. Known Issues</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e12051">BigWorld Technology 1.4.1 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e12054">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e12064">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e12077">3. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e12111">BigWorld Technology 1.4 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e12114">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e12150">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e12259">3. Important Notes</a></span></dt><dt><span class="section"><a href="#d0e12275">4. Bug Fixes</a></span></dt></dl></dd><dt><span class="article"><a href="#d0e12326">BigWorld Technology 1.3 -- Server Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e12329">1. New Features</a></span></dt><dt><span class="section"><a href="#d0e12378">2. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e12409">3. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e12422">4. Known Issues</a></span></dt></dl></dd></dl></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e20"></a>BigWorld Technology 2.0.1 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e23">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e23"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added missing files in the Full Source package that were
preventing the package from being compiled.</p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e30"></a>BigWorld Technology 2.0 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e33">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e40">2. Important Notes</a></span></dt><dt><span class="section"><a href="#xref_2_0_0_New_Features">3. New Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e63">3.1. Script & Script API</a></span></dt><dt><span class="section"><a href="#d0e160">3.2. Entity Definitions & Property Types</a></span></dt><dt><span class="section"><a href="#d0e193">3.3. Database & Billing Systems</a></span></dt><dt><span class="section"><a href="#d0e202">3.4. FantasyDemo & Examples</a></span></dt><dt><span class="section"><a href="#d0e214">3.5. Fault Tolerance & Disaster Recovery</a></span></dt><dt><span class="section"><a href="#d0e229">3.6. Cluster Management</a></span></dt><dt><span class="section"><a href="#d0e251">3.7. Miscellaneous</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e281">4. Changed Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e284">4.1. General</a></span></dt><dt><span class="section"><a href="#d0e321">4.2. Script & Script API</a></span></dt><dt><span class="section"><a href="#d0e402">4.3. Entity Definitions & Property Types</a></span></dt><dt><span class="section"><a href="#d0e433">4.4. Database & Billing Systems</a></span></dt><dt><span class="section"><a href="#d0e535">4.5. Fault Tolerance & Disaster Recovery</a></span></dt><dt><span class="section"><a href="#d0e605">4.6. Watchers</a></span></dt><dt><span class="section"><a href="#d0e624">4.7. Server Tools</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e648">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e736">6. Known Bugs & Limitations</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e33"></a>1. Overview</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BigWorld Technology 2.0 is the latest version of the BigWorld
Technology engine.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e40"></a>2. Important Notes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The release number system has changed. Previously, there were
two digits assigned to a major release version (e.g. 1.9), an extra
digit for the minor release version (e.g. 1.9.6) and a final, fourth
digit for the patch version (e.g. 1.9.6.7). Major release versions now
have a single digit. The full version number now has three digits
(e.g. 2.0.0).</p></li><li><p>In order to make the source code location for BigWorld
components consistent, the
<code class="filename"><em class="replaceable"><code>trunk</code></em>/src</code> directory
has been moved to
<code class="filename"><em class="replaceable"><code>trunk</code></em>/bigworld/src</code>.
This needs to be considered when merging source code changes from
previous versions to the latest version.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xref_2_0_0_New_Features"></a>3. New Features</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e63"></a>3.1. Script & Script API</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>A number of new features have been added to help working with
multiple spaces.</p><p><code class="classname">Base</code><code class="methodname">.createCellEntity()</code>
now accepts a base mailbox in place of the cell mailbox. This makes
it easy to find the creation location in
<code class="classname">BigWorld</code><code class="methodname">.globalBases</code>.</p><p>The <code class="methodname">__init__</code> methods of cell entities
will now be given the entity that was used in
<code class="classname">Base</code><code class="methodname">.createCellEntity()</code>.
This allows setting of the initial entity location on the cell
entity rather than via the base entity's <code class="varname">cellData[
"position" ]</code>.</p><p>A new script method
<code class="classname">Base</code><code class="methodname">.teleport()</code> has
been added. It takes a base entity mailbox that indicates the entity
that this entity should be teleported to.
<code class="classname">Entity</code><code class="methodname">.onTeleportSuccess()</code>
is called on success and is passed the destination entity. This is
useful for setting the position of the teleporting entity.</p><p class="remark"><i><span class="remark">Bug 27418</span></i></p></li><li><p>Added
<code class="classname">BigWorld</code>.<code class="methodname">addTimer()</code>
and
<code class="classname">BigWorld</code>.<code class="methodname">delTimer()</code>
script methods to CellApp.</p></li><li><p>Added BigWorld.getSpaceGeometryMappings() to CellApp, which
retrieves the client-server geometry mappings for a space.</p><p class="remark"><i><span class="remark">Bug 27871</span></i></p></li><li><p><code class="varname">BigWorld.globalBases</code>,
<code class="varname">BigWorld.baseAppData</code>,
<code class="varname">BigWorld.cellAppData</code> and
<code class="varname">BigWorld.globalData</code> now have a
<code class="methodname">get()</code> method like Python
dictionaries.</p><p class="remark"><i><span class="remark">Bug 27764</span></i></p></li><li><p><span class="literal">ARRAY</span> data type instances now have a method
<code class="methodname">equals_seq()</code> for performing Boolean
equality testing against an arbitrary Python sequence. This
alleviates the need to cast <span class="literal">ARRAY</span> instances into
appropriate types prior to performing an equality test with Python
lists and tuples.</p><p class="remark"><i><span class="remark">Bug 27864</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e160"></a>3.2. Entity Definitions & Property Types</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added a new data type, <span class="literal">UNICODE_STRING</span>,
which allows assignment of Python Unicode string objects. Persistent
<span class="literal">UNICODE_STRING</span> properties require 3 bytes per
character for storage in MySQL. The BigWorld MySQL database now use
UTF-8 as their character set, as do the connections to those
databases.</p><p>For more information, please refer to the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_programming_guide/server_programming_guide.html#xref_STRING_UNICODE_STRING_BLOB_and_data_types" class="olink"><span class="type">STRING</span>, <span class="type">UNICODE_STRING</span>,
<span class="type">BLOB</span>, and <span class="type">PYTHON</span> Data Types</a>.</p></li><li><p>A new section <span class="literal"><TempProperties></span> is now
supported in <code class="filename">.def</code> files to allow specifying
properties that are not backed up or offloaded. These should
generally be rare but are useful for properties that cannot be
streamed such as sockets or properties that are recreated on
restoring.</p><p class="remark"><i><span class="remark">Bug 20228</span></i></p></li><li><p>ARRAY data type instances now have a method equals_seq() for
performing Boolean equality testing against an arbitrary Python
sequence. This alleviates the need to cast ARRAY instances into
appropriate types prior to performing an equality test with Python
lists and tuples.</p><p class="remark"><i><span class="remark">Bug 27864</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e193"></a>3.3. Database & Billing Systems</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>It is now a lot easier to integrate an external billing system
and account authentication with the BigWorld server. This can be
done in Python or C++ in DBMgr.</p><p class="remark"><i><span class="remark">Bug 27583</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e202"></a>3.4. FantasyDemo & Examples</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>FantasyDemo XMPP integration. The FantasyDemo client is now
also a lightweight XMPP client which can send/receive messages and
presence notifications to any other XMMP client (e.g. GAIM, Pidgin).
This is an example of connecting to external service in a
non-blocking manner via
<code class="classname">BigWorld</code><code class="methodname">.registerFileDescriptor()</code>.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e214"></a>3.5. Fault Tolerance & Disaster Recovery</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added
<code class="classname">Entity</code>.<code class="varname">shouldAutoBackup</code>
property. This allows disabling automatic backing up of cell
entities to their base entity.</p><p class="remark"><i><span class="remark">Bug 26377</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e229"></a>3.6. Cluster Management</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BaseApps can now be retired while the server is running. Base
entities are offloaded to other BaseApps, and connected clients are
transparently reconnected to their proxy entities on destination
BaseApps. To trigger a BaseApp retirement, there is a new
<em class="emphasis">Retire App</em> action in the action menu for
BaseApps in WebConsole/ClusterControl. There is also a new
<span class="literal">retireproc</span> command for the
<span><strong class="command">control_cluster.py</strong></span> command line tool.</p><p>See the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_operations_guide/server_operations_guide.html#xref_Controlled_Startup_And_Shutdown" class="olink"><i>Controlled Startup and Shutdown</i></a> for more
details.</p><p class="remark"><i><span class="remark">Bug 24187</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e251"></a>3.7. Miscellaneous</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The server now uses <code class="function">epoll</code> instead of
<code class="function">select</code> to wait for network activity. This
improves the scalability of the
<code class="classname">BigWorld</code><code class="methodname">.registerFileDescriptor()</code>
implementation.</p><p class="remark"><i><span class="remark">Bug 25734</span></i></p></li><li><p>Watchers can now be fetched via TCP. Previously, only UDP was
supported. This caused there to be a maximum size for the watcher
query results.</p><p class="remark"><i><span class="remark">Bug 6353</span></i></p></li><li><p>There are now options to compress some of the network traffic.
See the networkCompression options in bw.xml for more
details.</p><p class="remark"><i><span class="remark">Bug 27744</span></i></p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e281"></a>4. Changed Features</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e284"></a>4.1. General</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>In order to make the source code location for BigWorld
components consistent, the
<code class="filename"><em class="replaceable"><code>trunk</code></em>/src</code> folder has
been moved to
<code class="filename"><em class="replaceable"><code>trunk</code></em>/bigworld/src</code>.
This needs to be considered when merging source code changes from
previous versions to the latest version.</p><p class="remark"><i><span class="remark">Bug 10156</span></i></p></li><li><p>The internal Python library has been updated to version
2.6.4.</p><p class="remark"><i><span class="remark">Bug 27310</span></i></p></li><li><p>The SQLite library has been upgraded to version 3.6.23.</p></li><li><p>The CPU time spent in the main thread while loading chunks is
5 to 10 times less than before.</p><p class="remark"><i><span class="remark">Bug 27401</span></i></p></li><li><p>Navigation meshes in memory are now more compact through the
use of an indexing scheme for the vertices in nav-poly edges.</p><p class="remark"><i><span class="remark">Bug 27787</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e321"></a>4.2. Script & Script API</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The
<code class="classname">Proxy</code>.<code class="methodname">giveClientTo()</code>
method can now accept a base mailbox to a proxy on a remote BaseApp
for transferring the client. This relaxes the restriction that the
destination proxy has to reside on the same BaseApp as the source
proxy.</p></li><li><p><code class="classname">BigWorld</code>.<code class="methodname">PatrolPath</code>
has been removed. User Data Object PatrolNode should be used for
creating patrol paths in space.</p></li><li><p>The Cell entity property
<code class="property">Entity.aoiPriority</code> has been removed. This has
been replaced by the <code class="property">Entity.aoiUpdateScheme</code>
property and <code class="methodname">Entity.setAoIUpdateScheme()</code>
method. These allow greater control of the update rate based on
distance and also allows specifying for a specific instance of an
entity in an AoI.</p><p class="remark"><i><span class="remark">Bug 27230</span></i></p></li><li><p>There is a new scripts path <code class="filename">server_common</code> under the resource path
<code class="filename">scripts</code>. Modules placed here
can be loaded by the BaseApp and CellApp, as well as DBMgr for
importing modules used with class-customised data types. This is
intended for Python modules that are common between server
components, but are not distributed with the client.</p><p class="remark"><i><span class="remark">Bug 23026</span></i></p></li><li><p>The deprecated
<code class="classname">Base</code><code class="varname">.contactDetails</code>
property has now been removed.</p><p class="remark"><i><span class="remark">Bug 27662</span></i></p></li><li><p>Fixed a bug where the CellApp personality callback
<code class="methodname">onAllSpaceGeometryLoaded()</code> was not being
called back when auto-loading space data from the database.</p><p class="remark"><i><span class="remark">Bug 27871</span></i></p></li><li><p>The script method
<code class="classname">Entity</code><code class="varname">.addPortalConfig</code> has
been replaced by
<code class="classname">Entity</code><code class="varname">.setPortalState</code>.</p><p>An identical method has been added to the client
entity.</p><p class="remark"><i><span class="remark">Bug 26400</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e402"></a>4.3. Entity Definitions & Property Types</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><span class="literal"><Volatile></span> settings can now be placed
in interface <code class="filename">.def</code> files.</p><p class="remark"><i><span class="remark">Bug 26039</span></i></p></li><li><p>The <code class="filename">bw.xml</code> option,
<span class="literal">baseApp/backUpUndefinedProperties</span> now defaults to
<span class="literal">false</span>. It is recommended that each property
requiring backup should be included in the entity's
<code class="filename">.def</code> file.</p><p class="remark"><i><span class="remark">Bug 20228</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e433"></a>4.4. Database & Billing Systems</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>A number of <code class="filename">bw.xml</code> options have
changed.</p><div class="itemizedlist"><ul type="circle"><li><p><span class="literal">dbMgr/createUnknown</span> is now
<span class="literal">billingSystem/shouldAcceptUnknownUsers</span>.</p></li><li><p><span class="literal">dbMgr/rememberUnknown</span> is now
<span class="literal">billingSystem/shouldRememberUnknownUsers</span>.</p></li><li><p><span class="literal">dbMgr/loadUnknown</span> has been replaced by
<span class="literal">billingSystem/authenticateViaBaseEntity</span>.</p></li><li><p><span class="literal">dbMgr/entityType</span> is now
<span class="literal">billingSystem/entityTypeForUnknownUsers</span>.</p></li></ul></div></li><li><p>Added configuration option
<span class="literal">billingSystem/isPasswordHashed</span> to
<code class="filename">bw.xml</code>. This indicates whether the password
stored in the database's <span class="literal">bigworldLogOnMapping</span>
table is hashed.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This is option is <span class="literal">true</span> by default.
Running <span><strong class="command">sync_db</strong></span> will convert existing
passwords.</p><p>It is not possible to restore the original passwords once
this is performed.</p></div><p class="remark"><i><span class="remark">Bug 14763</span></i></p></li><li><p>Modified the database's
<span class="literal">bigworldLogOnMapping</span> table to store the
<span class="literal">entityID</span> of the associated entity rather than the
identifying property. This means that it is no longer necessary for
these entity types to have an identifier property.</p><p>Also, the <span class="literal">typeID</span> column in this table was
renamed to <span class="literal">entityType</span>.</p></li><li><p>The default collation associated with
<span class="literal">UNICODE_STRING</span> properties in the MySQL database
is now <em class="emphasis">utf8_bin</em>. The collation can be changed
by using the <span class="literal">dbMgr/unicodeString/collation</span> option
in <code class="filename">bw.xml</code>.</p><p class="remark"><i><span class="remark">Bug 27666</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e535"></a>4.5. Fault Tolerance & Disaster Recovery</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The <code class="filename">bw.xml</code> option
<span class="literal">useDefaultSpace</span> now defaults to
<span class="literal">false</span>. A number of new features have been added
to help work with multiple spaces. See <a href="#xref_2_0_0_New_Features" title="3. New Features">New Features</a>.</p><p class="remark"><i><span class="remark">Bug 27418</span></i></p></li><li><p>Persistent entities can now be individually flagged for
auto-loading by the database on server startup. Previously, all
persistent entities that were checked out at the time of the last
server shutdown were auto-loaded. The following changes were made to
support this:</p><div class="itemizedlist"><ul type="circle"><li><p>A new argument to the
<code class="methodname">Base.writeToDB()</code> method,
<em class="parameter"><code>shouldAutoLoad</code></em>, can be used to indicate
whether an entity should be auto-loaded by the database when
the server starts up.</p></li><li><p>The
<code class="classname">BWPersonality</code><code class="methodname">.onBaseAppReady()</code>
callback is now called with two Boolean arguments instead of
the one argument in previous versions. The first argument
remains as the <em class="parameter"><code>isBootstrap</code></em> argument,
set to <span class="literal">True</span> for the bootstrap BaseApp. The
new second Boolean argument indicates whether the database has
auto-loaded any entities or not.This is useful for seeding
persistent entities into a newly created database.</p></li><li><p>The <code class="filename">bw.xml</code> option
<span class="literal">dbMgr/clearRecoveryData</span> has been removed.
Instead, a new tool called <span><strong class="command">ClearAutoLoad</strong></span>
can be used to clear the auto-load data when needed (located
at
<code class="filename">bigworld/bin/Hybrid64/commands/clear_auto_load</code>).</p></li></ul></div><p class="remark"><i><span class="remark">Bug 21519</span></i></p></li><li><p>Auto-loading entities and spaces on the XML database is now
supported.</p><p class="remark"><i><span class="remark">Bug 28022</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e605"></a>4.6. Watchers</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Watcher values in the <span class="literal">debug</span> and
<span class="literal">debugging</span> directories have all been moved to
either the <span class="literal">config</span> or <span class="literal">logger</span>
directories.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e624"></a>4.7. Server Tools</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e627"></a>4.7.1. Message Logger</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The logger ID associated with processes for the purposes of
logging with MessageLogger has been changed from an integer type
to a string type. This option is set for logging processes in
<code class="filename">bw.xml</code> as the <code class="option">loggerID</code>
option, and MessageLogger filters LoggerIDs via the
<code class="option">-l</code> command line option.</p><p>The shipped init-script for MessageLogger does not use the
<code class="option">-l</code> command line option. Developers who are not
using the shipped init-script for starting MessageLogger should
check that if they use -l option but do not wish to use the
LoggerID filter, they should set it to an empty string instead of
"0".</p></li></ul></div></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e648"></a>5. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue that could cause messages destined for an old
client to be delivered to a new client when an entity is taken over
via
<code class="classname">BigWorld</code><code class="methodname">.onLogOnAttempt()</code>.</p><p class="remark"><i><span class="remark">Bug 26908</span></i></p></li><li><p>Loading of files required by User Data Objects is now done on
startup instead of on first use, avoiding file access from the main
thread when the first User Data Object is created.</p><p class="remark"><i><span class="remark">Bug 17451</span></i></p></li><li><p>Fixed bugs in entity def files that use <span class="literal">True</span>
or <span class="literal">False</span> as the default value of property type
<span class="literal">BOOL</span>. <span class="literal">BOOL</span> is actually an alias
of <span class="literal">UINT8</span> so it only accepts <span class="literal">0</span> or
<span class="literal">1</span> as its value. Also, a warning message will be
printed if trying to intepret a non-integer string value as an integer
when reading it from data section.</p><p class="remark"><i><span class="remark">Bug 25794</span></i></p></li><li><p>Restoring cell entities from a BaseApp when a CellApp dies is
now spread out over time. This avoid a problem where the BaseAppMgr
could kill a BaseApp because restoring was taking too long.</p><p class="remark"><i><span class="remark">Bug 25821</span></i></p></li><li><p>Fixed a problem where the
<code class="methodname">Entity.onLeavingCell()</code> callback, triggered
via a teleporting entity, was called while there was a partially
constructed message on the channel to the destination CellApp. If this
callback generated any traffic on this channel, the teleport message
would be truncated and crash the destination CellApp.</p><p class="remark"><i><span class="remark">Bug 27350</span></i></p></li><li><p>Fixed a bug where entity navigation cannot pass the space
geometry boundary when space geometries are loaded with a
transform.</p><p class="remark"><i><span class="remark">Bug 26963</span></i></p></li><li><p>Improved the calculation of the downstream bandwidth.
Previously, some internal traffic from the cell entity to the base
entity was being counted in the downstream calculation, reducing the
amount sent to clients.</p><p class="remark"><i><span class="remark">Bug 26912</span></i></p></li><li><p>Fixed an issue that could potentially affect users attempting to
relogin while their existing Proxy was still online. It was possible
that relogin attempts would never succeed and subsequent login
attempts would fail reporting that a previous relogin attempt was
still in progress.</p><p class="remark"><i><span class="remark">Bug 27642</span></i></p></li><li><p>Fixed a bug that caused the position of passenger entities to be
wrong on the server when the vehicle had non-zero pitch. The server
was interpretting pitch in the wrong direction.</p><p class="remark"><i><span class="remark">Bug 27031</span></i></p></li><li><p>Fixed an issue where LogViewer could fail to query logs when the
WebConsole server existed in a different timezone to the browser that
performed the query.</p><p class="remark"><i><span class="remark">Ticket #2277</span></i></p></li><li><p>Fixed an issue where DBMgr could prematurely stop waiting for
the sync_db process to terminate, causing hangs when shutting
down.</p><p class="remark"><i><span class="remark">Ticket #2431 / Bug 27940</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e736"></a>6. Known Bugs & Limitations</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>MySQL 5.1 does not support Unicode characters outside the Basic
Multilingual Plane (BMP) defined in Unicode Version 3.0 in its UTF8
character string data type. This implies that BigWorld also does not
support persistence of characters outside the BMP. MySQL reports that
this issue will be resolved in MySQL version 6.0, however, as it has
not been released, no testing has been done.</p></li><li><p>When mapping a space's geometry more than once, problems might
occur with User Data Objects, multiple User Data Objects will share
the same GUID.</p><p class="remark"><i><span class="remark">Bug 27018</span></i></p></li><li><p>If a shell without the bottom side in its bsp is placed on an
outside chunk, NavGen cannot generate a navmesh on both the shell and
the outside chunk correctly. Navigation will fail if an entity
attempts to navigate in this shell.</p><p class="remark"><i><span class="remark">Bug 27510</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e753"></a>BigWorld Technology 1.9.6.12 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e756">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e756"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue where some cells could be unable to create ghosts
or offload entities onto an adjacent cell. This could have occurred if
a cell was retired using SpaceViewer, and was quickly re-added to the
same space.</p><p class="remark"><i><span class="remark">Bug: 28164</span></i></p></li><li><p>Fixed an issue where acknowledgements that were destined for an
old network channel could be processed by a new channel. This could
occur if a cell entity is destroyed and then quickly recreated in a
high loss environment.</p><p class="remark"><i><span class="remark">Bug: 28275</span></i></p></li><li><p>Fixed an issue that could leave an entity channel in a bad state
after base entities have been restored. If this occurred, WARNING
messages like the following would be seen repeatedly from a
CellApp.</p><div class="blockquote"><blockquote class="blockquote"><p>Channel::addToReceiveWindow( 10.40.1.101:36772/4462 ):
Dropping packet from old channel 10.40.1.101:36772 (v0 <
v1)</p></blockquote></div><p class="remark"><i><span class="remark">Bug: 28187</span></i></p></li><li><p>Anonymous channels no longer time out if the local process was
the one that paused for longer than the timeout period. Previously, if
DBMgr blocked for greater than 60 seconds, it would drop its anonymous
channels such as the channel from the LoginApp.</p><p class="remark"><i><span class="remark">Bug: 28126</span></i></p></li><li><p>Fixed an issue that would cause time synchronisation to no
longer work after a CellAppMgr had been restored. This would mean that
the game time of CellApp and BaseApp processes could slowly drift
apart after this.</p><p class="remark"><i><span class="remark">Bug: 28190</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e788"></a>BigWorld Technology 1.9.6.11 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e791">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e791"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue with CellApp that could cause problems when
restoring cell entities that were buffered due to high load. If
CellApp load was consistently high, it might have been a long time
before all the pending entity restorations were processed. It was
possible for the cell to be removed in the meantime, causing those
cell entities to never be restored.</p><p class="remark"><i><span class="remark">Bug: 28025</span></i></p></li><li><p>Fixed a race condition between when CellAppMgr adds a cell to a
CellApp, and other CellApps offloading or creating ghosts on that
CellApp. Previously, this could cause assertion failures with ghost
message buffering.</p><p class="remark"><i><span class="remark">Bug 28036</span></i></p></li><li><p>Fixed a race condition in DBMgr startup which could result in
tasks being processed before initialisation had been completed.</p><p class="remark"><i><span class="remark">Bug 28051</span></i></p></li><li><p>Fixed a problem that caused the player's client entity to not be
moved into the new space if the cell entity was teleported while
<code class="code">Entity.controlledBy == None</code>.</p><p class="remark"><i><span class="remark">Bug 28064/Ticket 2465</span></i></p></li><li><p>Added an assertion to guard against when an anonymous channel is
recreated after being timed out after 60 seconds. It is undesirable to
continue running as data will have been lost. </p><p>This avoids side-effects occurring later, such as when a CellApp
channel to another CellApp times out causing CellApps to become
incapable of on-loading entities.</p><p class="remark"><i><span class="remark">Bug 28126 / Ticket 2530</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e825"></a>BigWorld Technology 1.9.6.10 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e828">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e828"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue with DBMgr that could cause a new persistent
entity to be written multiple times to the database.</p><p class="remark"><i><span class="remark">Bug: 26916</span></i></p></li><li><p>Fixed an issue that could leave DBMgr in a state where a base
entity is reported as being online after it has been destroyed. This
could occur if the base entity was destroyed immediately after being
written to the database for the first time.</p><p class="remark"><i><span class="remark">Bug: 27964 / Ticket: 2464</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e842"></a>BigWorld Technology 1.9.6.9 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e845">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e845"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue introduced by the patch done in 1.9.6.8. This
could cause an assertion to fail when a cell is removed from a
CellApp.</p><p class="remark"><i><span class="remark">Bug: 27915/Ticket: 2416</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e854"></a>BigWorld Technology 1.9.6.8 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e857">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e857"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed a rare race condition that could occur in extreme cases
where cells from CellApps are being added and then removed repeatedly
under heavily-loaded situations. Previously this could cause an
assertion to fail when processing ghost messages.</p><p class="remark"><i><span class="remark">Ticket: 2416</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e866"></a>BigWorld Technology 1.9.6.7 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e869">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e869"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue where a base entity may not be able to be
destroyed because it is waiting for its cell entity to be destroyed
first. This is caused by a call to
<code class="methodname">Base.giveClientTo()</code>, which can cause
subsequent messages on the same bundle to be dropped. This can include
the notification that the cell entity has been destroyed.</p><p class="remark"><i><span class="remark">Bug: 27875</span></i></p></li><li><p>Fixed an issue in the networking layer which could cause crashes
due to assertion failures relating to "<code class="code">Mangled fragment
footers</code>".</p><p class="remark"><i><span class="remark">Bug 27891 / Ticket 2379</span></i></p></li><li><p>Fixed an issue where applications could be incorrectly
processing packets on a channel from a previous channel version. In
particular, this could cause the base entities to process packets from
a previous incarnation of a recently destroyed cell entity as if it
came from a newly created cell entity.</p><p class="remark"><i><span class="remark">Bug 27898 / Ticket 2383</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e894"></a>BigWorld Technology 1.9.6.6 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e897">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e897"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><em class="emphasis">IMPORTANT:</em> Fixed an issue that
could cause corrupted data to be written to and read from the MySQL
database.</p><p>This was caused by a patch done in 1.9.6.5. It is important to
upgrade from BigWorld 1.9.6.5.</p><p class="remark"><i><span class="remark">Bug: 27827</span></i></p></li><li><p>Fixed an issue with using <code class="filename">sync_db</code> with
MySQL 5.1.</p><p class="remark"><i><span class="remark">Bug: 26533</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e918"></a>BigWorld Technology 1.9.6.5 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e921">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e921"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p><em class="emphasis">IMPORTANT:</em> Fixed an issue that
could cause corrupted data to be written to the MySQL database.</p><p>This could occur if an entity has an ARRAY of ARRAY property and
many of these entities are written at the same time. If MySQL database
lock contention requires the transaction to be repeated, the second
attempt could have contained incorrect data.</p><p class="remark"><i><span class="remark">Bug: 27827</span></i></p></li><li><p>Fixed a potential CellApp assertion that could occur if entities
were teleported together immediately after enter each other's Area of
Interest.</p><p class="remark"><i><span class="remark">Ticket #2304/Bug 27861</span></i></p></li><li><p>Fixed an issue where cell entity creation could fail when
CellApp backups were disabled.</p><p class="remark"><i><span class="remark">Ticket #2025</span></i></p></li><li><p>Fixed an issue where some sequences of buffered ghost messages
on the CellApp were being played back incorrectly. This could cause
assertions to fail later.</p><p class="remark"><i><span class="remark">Bug 27851</span></i></p></li><li><p>Fixed an issue where the client could crash while trying to
connect to the server if a previous login attempt failed while
contacting the BaseApp.</p><p class="remark"><i><span class="remark">Bug 27866</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e954"></a>BigWorld Technology 1.9.6.4 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e957">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e957"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue where an entity that is teleporting into an
indoor chunk newly created space may cause movement issues. This may
occur if the indoor chunk had not been loaded at the time the
teleporting entity was placed into the space.</p><p class="remark"><i><span class="remark">Ticket #2110</span></i></p></li><li><p>Fixed a problem that could cause User Data Objects to be
unloaded too early. This would occur when there are multiple spaces
that have the same geometry mapped. If one of these spaces was
unloaded, the User Data Objects for all spaces would be
unloaded.</p><p class="remark"><i><span class="remark">Bug: 27714</span></i></p></li><li><p>Fixed an issue where requesting a slice by only providing the
start index could return an empty list, for example
<code class="code">entity.listProp[1:]</code>.</p><p class="remark"><i><span class="remark">Ticket #1959</span></i></p></li><li><p>Fixed a memory leak in DBMgr introduced by the addition of
<code class="classname">BufferedEntityTask</code> in BigWorld 1.9.6.0.</p><p class="remark"><i><span class="remark">Ticket #1951</span></i></p></li><li><p>Fixed a problem caused by calling
<code class="code">Base.createCellEntity()</code> with a cell mailbox that has not
yet been initialised. A base entities cell mailbox is only properly
initialised when its <code class="code">Base.onGetCell</code> callback is
called.</p><p class="remark"><i><span class="remark">Bug 27381</span></i></p></li><li><p>Fixed a problem that could cause teleporting an entity to fail.
Previously, when an entity teleports between two CellApps that have
not communicated prior to the teleport, if the first packet is
dropped, the channel may be in a bad state and the teleport
information could be stuck on the channel indefinitely.</p><p class="remark"><i><span class="remark">Ticket #1859 / Bug 27379</span></i></p></li><li><p>Fixed an issue with base entities getting into a state where
they could not be destroyed due to a pending cell entity destroy
operation. The timeout for condemned channels has been extended to
prevent premature dumping of un-acknowledged pending outgoing packets
on condemned channels.</p><p class="remark"><i><span class="remark">Ticket #1633</span></i></p></li><li><p>Fixed a problem introduced in 1.9.6.3 that can cause a CellApp
crash if a cell is removed from a space and then reintroduced before
chunks that were loading had been discarded.</p><p class="remark"><i><span class="remark">Bug 27611</span></i></p></li><li><p>Fixed an issue with server controlled Witnesses receiving
incorrect position updates when being a passenger.</p><p class="remark"><i><span class="remark">Bug 27262</span></i></p></li><li><p>Fixed a rare assertion that could occur when network loss was
occurring and the number of buffered packets exactly matched the size
of the buffered packets array.</p><p class="remark"><i><span class="remark">Bug 27262</span></i></p></li><li><p>Fixed a bug with sending oversized Mercury message requests.
Previously, the sending side was clobbering the length field in a
variable length message, causing crashes on the receiving side.</p><p class="remark"><i><span class="remark">Bug 27660</span></i></p></li><li><p>Fixed a bug that could cause out-of-order property updates being
sent down to the client when an entity changes detail levels, or when
two entities teleport together.</p><p class="remark"><i><span class="remark">Bug 27687</span></i></p></li><li><p>Fixed a memory leak caused by requests on channels.</p><p class="remark"><i><span class="remark">Bug 27700</span></i></p></li><li><p>Fixed an issue when player entities in the same AoI teleport
together. Previously, there was a chance that some updates on
properties made just before the teleport were not being propagated on
the next update after they finish teleporting into the new
space.</p><p class="remark"><i><span class="remark">Bug 27710</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1043"></a>BigWorld Technology 1.9.6.3 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1046">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1046"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed a problem that could cause sub-elements of properties of
ghost entities to not be updated.</p><p class="remark"><i><span class="remark">Bug 27353</span></i></p></li><li><p>Fixed a potential CellApp crash caused by a race condition when
creating and removing cells.</p><p class="remark"><i><span class="remark">Bug 27309</span></i></p></li><li><p>Fixed a bug that could cause incorrect space data to be
associated with a space. If a cell was removed from a space and then
added back shortly after, old space data values that should have been
removed during that period of time were still being kept.</p><p class="remark"><i><span class="remark">Bug 27342</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1065"></a>BigWorld Technology 1.9.6.2 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1068">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1068"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added the missing src/lib/third_party_integration library and bigworld/src/server/web library. </p><p class="remark"><i><span class="remark">Ticket # 1799</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1077"></a>BigWorld Technology 1.9.6.1 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1082"></a>BigWorld Technology 1.9.6 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1085">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e1092">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e1099">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e1146">4. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e1167">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e1243">6. Known Bugs & Limitations</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1085"></a>1. Overview</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BigWorld Technology 1.9.6 is the latest version of the BigWorld
Technology engine. This version contains multiple bug fixes which do
not require complicated merges. Future 1.9 releases are expected to
mainly contain bug fixes.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1092"></a>2. Executive Summary</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Multiple bug fixes were done in this version.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1099"></a>3. New Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added new methods
<code class="methodname">BigWorld.navigatePathPoints()</code> and
<code class="methodname">Entity.navigatePathPoints()</code>.</p><p>These methods perform a navigation search without moving the
entity. The returned list of points from source to destination are the
same as the points the entity would move to using
<code class="methodname">navigateStep()</code>.</p><p class="remark"><i><span class="remark">Bug 26880</span></i></p></li><li><p>Added options to periodically save and archive the XML
database.</p><p class="remark"><i><span class="remark">Bug 27118</span></i></p></li><li><p>Added
<code class="classname">Base</code>.<code class="varname">shouldAutoBackup</code>
property. This allows disabling of automatic backing up of base
entities to other BaseApps.</p><p class="remark"><i><span class="remark">Bug 27074</span></i></p></li><li><p>Added
<code class="classname">Base</code>.<code class="varname">shouldAutoArchive</code>
property. This allows disabling of automatic archiving up of base
entities to the database.</p><p class="remark"><i><span class="remark">Bug 27074</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1146"></a>4. Changed Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The constant
<code class="varname">BigWorld.SHOULD_AUTO_BACKUP_NEXT_ONLY</code> has been
renamed to <code class="varname">BigWorld.NEXT_ONLY</code>. This constant is
used for the <code class="varname">shouldAutoBackup</code> property for base and
cell entities, and the <code class="varname">shouldAutoArchive</code> property
for base entities.</p><p class="remark"><i><span class="remark">Bug 27074</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1167"></a>5. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Set the log level severity for the error message "Failed to get
stream on client method" to be more appropriate under conditions where
the underlying cause is expected.</p><p>There can be a small time window after a proxy entity loses its
client (either by disconnection, timeout, or via script) and before
the cell entity has been informed about this change of state, where
the cell entity has sent down to the proxy messages intended for the
client. In this case, these messages are dropped (as they were
previously), but now they are NOTICE level messages if they occur
within an arbitary short period of time (currently 1 second).</p><p class="remark"><i><span class="remark">Bug 27090 / Ticket 1510</span></i></p></li><li><p>Added extra checks to ensure that mailboxes are never sent on
network channels that point to an invalid address. This was causing
assertion failures to occur occasionally if the address was set to
<code class="code">Address::NONE</code>.</p><p class="remark"><i><span class="remark">Bug 26845 / Ticket 1340</span></i></p></li><li><p>Added some extra checks if a bounding box was inside-out for a
resource being loaded, with extra log messages identifying that exact
resource. This was previously causing assertion failures on the
server.</p><p class="remark"><i><span class="remark">Bug 27023 / Ticket 1491</span></i></p></li><li><p>Added comparison functions for ARRAY and FIXED_DICT objects,
previously instances of these property types would always compare
False.</p><p class="remark"><i><span class="remark">Bug 26958 / Ticket 1447</span></i></p></li><li><p><code class="code">self.myArray[:]</code> now generates a new list instead of
returning <code class="code">self.myArray</code> for <code class="code">ARRAY</code>
properties.</p><p class="remark"><i><span class="remark">Ticket 1616</span></i></p></li><li><p><code class="filename">mlcat.py</code> will now work correctly when
specifying a log directory to read from if no configuration files are
readable on the system.</p><p class="remark"><i><span class="remark">Bug 27172</span></i></p></li><li><p>Fixed player-controlled entites not being able to move in
client-only spaces if the physics checking is enabled via setting
<code class="code">topSpeed</code>.</p><p class="remark"><i><span class="remark">Bug 27251</span></i></p></li><li><p>Fixed an issue that could occur if 32768 or more controllers are
added to an entity. Controllers could have been allocated the same id
as a movement controller. Adding a movement controller would incorrect
cancel another controller.</p><p class="remark"><i><span class="remark">Bug 27283</span></i></p></li><li><p>Fixed Python reference leaks in
<code class="code">Entity.withholdFromClient</code>,
<code class="code">Entity.isWithheldFromClient</code> and
<code class="code">Entity.isInAoI</code>.</p><p class="remark"><i><span class="remark">Bug 27306</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1243"></a>6. Known Bugs & Limitations</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>An issue exists where performing any operation that can modify
an Entity's data (for example either property set operations or remote
method calls) from within the Python
<code class="classname">BackgroundTask</code>.<code class="methodname">doBackgroundTask()</code>
method may cause network packet corruption and in turn a process
crash.</p><p>To avoid this issue, when using Python BackgroundTasks perform
all entity modifications and interactions from within the
<code class="classname">BackgroundTask</code>.<code class="methodname">doMainThreadTask()</code>
callback.</p><p class="remark"><i><span class="remark">Bug 27288</span></i></p></li><li><p>Python hashlib does not function correctly in Bots process or
BaseApp due to an incompatibility between versions of OpenSSL.</p><p class="remark"><i><span class="remark">Bug 21059</span></i></p></li><li><p><em class="emphasis">Secondary Databases</em></p><div class="itemizedlist"><ul type="circle"><li><p>When secondary databases are enabled and the final
<code class="code">writeToDB</code> operation is disabled by passing
<code class="code">False</code> in the <code class="code">writeToDB</code> parameter of the
<code class="code">Base.destroy</code> function, all <code class="code">writeToDB</code>
operations on the entity since the entity was loaded from the
database may be disregarded. For example: </p><div class="orderedlist"><ol type="1"><li><p>Entity A is loaded from the database</p></li><li><p>Entity A's properties are changed.</p></li><li><p>Entity A is written to the database by calling the
<code class="code">Base.writeToDB</code> method.</p></li><li><p>Entity A is destroyed by calling the
<code class="code">Base.destroy</code> method but <code class="code">False</code> is
passed in the <code class="code">writeToDB</code> parameter.</p></li></ol></div><p> The <code class="code">writeToDB</code> operation in step 3,
may be disregarded and the changes to entity A's properties in
step 2 will be lost.</p><p>There is no guarantee that the changes will be lost so this
cannot be used as a rollback facility. If the system is shutdown
soon after the entity is destroyed (with <code class="code">writeToDB =
False</code>), then the changes to the entity may be
retained.</p><p>The correct behaviour should be to retain all the changes
that were supposedly written to the database using the
<code class="classname">Base</code>.<code class="methodname">writeToDB</code>
method. BigWorld will conform to this behaviour in a future
release. In the meantime, passing <code class="code">False</code> in the
<em class="parameter"><code>writeToDB</code></em> parameter to the
<code class="classname">Base</code>.<code class="methodname">destroy</code>
method should be avoided due to its unpredictable
behaviour.</p></li><li><p>When using secondary databases on a Debian Linux
distribution, the <code class="filename">transfer_db</code> script may
silently fail due to a requirement of the python libxml2 module.
When using secondary databases on Debian Linux please ensure to
<span class="literal">apt-get install python-libxml2</span> on all BaseApp
machines.</p></li></ul></div><p class="remark"><i><span class="remark">Bug 20612</span></i></p></li><li><p>This is associated with the Changed Feature regarding Identifier
properties.</p><p>In 1.9.1, we do not catch instances of setting identifier
properties that exist on the cell entity (e.g.
<span class="literal">ALL_CLIENTS</span> properties), as we do for identifier
properties on the base entity. In addition, modifications to a cell
entity identifier property in the
<code class="classname">Base</code>.<code class="varname">cellData</code> base property
(which exists if the cell entity has not been created) are also not
checked.</p><p>If an entity has been previously saved to the database
successfully, and the identifier property on the cell entity (or the
identifier property's entry in the <code class="varname">cellData</code>
dictionary) subsequently changes, the next attempt to save to the
database could fail due to the uniqueness constraint on that
identifier property being broken in the event that another entity is
keyed to the new value of the identifier property being set.</p><p class="remark"><i><span class="remark">Bug 19719</span></i></p></li><li><p>The file specified by <code class="code">resources.xml/system/terrain2</code>
(by default, <code class="filename">system/data/terrain2.xml</code> ) is loaded
each time that terrain is loaded. This can cause disk access in the
main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See
<code class="filename">fantasydemo/res/scripts/cell/FantasyDemo.py</code> for
an example.</p></li><li><p>The file specified by
<code class="filename">resources.xml/environment/materialKinds</code> (by
default, <code class="filename">system/data/material_kinds.xml</code>) is
loaded the first time a collision test occurs that involves terrain.
This can cause disk access in the main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See <code class="filename">
fantasydemo/res/scripts/cell/FantasyDemo.py</code> for an
example.</p></li><li><p>The <code class="code">UserDataObjectRef</code> module is loaded the first
time that it is needed. This can cause disk access in the main
thread.</p><p>To avoid this, import this module into your personality scripts.
See <code class="filename">fantasydemo/res/scripts/cell/FantasyDemo.py</code>
and <code class="filename">fantasydemo/res/scripts/base/FantasyDemo.py</code>
for examples.</p></li><li><p><span class="type">FIXED_DICT</span> properties that have an <code class="code">
<implementedBy> </code> can cause a module to be imported the
first time that the type is created. This can cause disk access in the
main thread.</p><p>To avoid this, import the necessary modules in the script file
of the relevant entities or the personality scripts.</p></li><li><p>MySQL stored procedures are not supported when used with the
<code class="classname">BigWorld</code>.<code class="methodname">executeRawDatabaseCommand</code>
method.</p><p>For details on this method, see the document <em class="emphasis">Server Programming Guide</em>'s section <em class="emphasis">The Database Layer -> Execute Arbitrary Commands On
Database</em>.</p></li><li><p>Due to the Watcher protocol changing as of 1.9.0, the server
tools (WebConsole, StatLogger, ControlCluster, ...) are not backwards
compatible. If your operational environment is still running 1.8.x
servers it is recommended to maintain the existing server tools as
forward compatibility has been maintained.</p></li><li><p>The 64-bit version of the server uses up to 50% more memory than
the 32-bit version in some cases.</p><p class="remark"><i><span class="remark">Bug 24442</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1457"></a>BigWorld Technology 1.9.5 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1460">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e1467">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e1477">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e1503">4. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e1529">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e1568">6. Known Bugs & Limitations</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1460"></a>1. Overview</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BigWorld Technology 1.9.5 is the latest version of the BigWorld
Technology engine. This version contains multiple bug fixes which do
not require complicated merges. Future 1.9 releases are expected to
mainly contain bug fixes.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1467"></a>2. Executive Summary</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Navigation now works for a space loaded with a transform matrix.</p></li><li><p>Multiple bug fixes were done in this version.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1477"></a>3. New Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added
<code class="classname">Entity</code>.<code class="methodname">shouldAutoBackup</code>
property. This allows disabling automatic backing up of cell entities
to their base entity.</p><p class="remark"><i><span class="remark">Bug 26377</span></i></p></li><li><p>Added <code class="code">BigWorld.maxCellAppLoad()</code> and
<code class="code">BigWorld.load()</code> methods to the CellApp. These are useful
for deciding to disallow some script actions when the server is
overloaded.</p><p class="remark"><i><span class="remark">Bug 26881</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1503"></a>4. Changed Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>A fault tolerance issue existed where entity attributes would
not exist on the restored BaseApp when
<code class="classname">Proxy</code>.<code class="methodname">onClientDeath</code>
was called.</p><p>This issue has now been fixed, however users will notice that
<code class="classname">Base</code>.<code class="methodname">onRestore</code> is now
called prior to <code class="methodname">onClientDeath</code>.</p><p class="remark"><i><span class="remark">No bug associated</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1529"></a>5. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue that could cause messages destined for the old
client to be delivered to the new client when an entity is taken over
via <code class="code">BigWorld.onLogOnAttempt.</code></p><p class="remark"><i><span class="remark">Bug 26908</span></i></p></li><li><p>Now ensuring that <code class="code">BigWorld.writeToDB</code> calls are
applied to the database in order. Previously, two operations to write
an entity could be sent to the database and each one sent immediately
to its own thread. Now, if one of these operations for an entity is
outstanding, others are buffered until the first has completed.</p><p class="remark"><i><span class="remark">Bug 13927</span></i></p></li><li><p>Fixed an issue that would cause client/server property changes to
be propagated incorrectly when an entity has more than 60 top-level
client/server properties.</p><p class="remark"><i><span class="remark">Bug 27059 / Ticket 1504</span></i></p></li><li><p>An issue was fixed where the Reviver process would crash after
having revived a process due to uncancelled timers.</p><p class="remark"><i><span class="remark">Bug 27028</span></i></p></li><li><p>Fixed an issue with BaseApp and CellApp reconnecting to a new
DBMgr process, for example after reviving a dead DBMgr process.</p><p class="remark"><i><span class="remark">Bug 27040</span></i></p></li><li><p>Fixed a bug where navigation would not work if a space geomtry is
loaded with a transform matrix.</p><p class="remark"><i><span class="remark">Bug 26963</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1568"></a>6. Known Bugs & Limitations</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Python hashlib does not function correctly in Bots process or
BaseApp due to an incompatibility between versions of OpenSSL.</p><p class="remark"><i><span class="remark">Bug 21059</span></i></p></li><li><p><em class="emphasis">Secondary Databases</em></p><div class="itemizedlist"><ul type="circle"><li><p>When secondary databases are enabled and the final
<code class="code">writeToDB</code> operation is disabled by passing
<code class="code">False</code> in the <code class="code">writeToDB</code> parameter of the
<code class="code">Base.destroy</code> function, all <code class="code">writeToDB</code>
operations on the entity since the entity was loaded from the
database may be disregarded. For example: </p><div class="orderedlist"><ol type="1"><li><p>Entity A is loaded from the database</p></li><li><p>Entity A's properties are changed.</p></li><li><p>Entity A is written to the database by calling the
<code class="code">Base.writeToDB</code> method.</p></li><li><p>Entity A is destroyed by calling the
<code class="code">Base.destroy</code> method but <code class="code">False</code> is
passed in the <code class="code">writeToDB</code> parameter.</p></li></ol></div><p> The <code class="code">writeToDB</code> operation in step 3,
may be disregarded and the changes to entity A's properties in
step 2 will be lost.</p><p>There is no guarantee that the changes will be lost so this
cannot be used as a rollback facility. If the system is shutdown
soon after the entity is destroyed (with <code class="code">writeToDB =
False</code>), then the changes to the entity may be
retained.</p><p>The correct behaviour should be to retain all the changes
that were supposedly written to the database using the
<code class="classname">Base</code>.<code class="methodname">writeToDB</code>
method. BigWorld will conform to this behaviour in a future
release. In the meantime, passing <code class="code">False</code> in the
<em class="parameter"><code>writeToDB</code></em> parameter to the
<code class="classname">Base</code>.<code class="methodname">destroy</code>
method should be avoided due to its unpredictable
behaviour.</p></li><li><p>When using secondary databases on a Debian Linux
distribution, the <code class="filename">transfer_db</code> script may
silently fail due to a requirement of the python libxml2 module.
When using secondary databases on Debian Linux please ensure to
<span class="literal">apt-get install python-libxml2</span> on all BaseApp
machines.</p></li></ul></div><p class="remark"><i><span class="remark">Bug 20612</span></i></p></li><li><p>This is associated with the Changed Feature regarding Identifier
properties.</p><p>In 1.9.1, we do not catch instances of setting identifier
properties that exist on the cell entity (e.g.
<span class="literal">ALL_CLIENTS</span> properties), as we do for identifier
properties on the base entity. In addition, modifications to a cell
entity identifier property in the
<code class="classname">Base</code>.<code class="varname">cellData</code> base property
(which exists if the cell entity has not been created) are also not
checked.</p><p>If an entity has been previously saved to the database
successfully, and the identifier property on the cell entity (or the
identifier property's entry in the <code class="varname">cellData</code>
dictionary) subsequently changes, the next attempt to save to the
database could fail due to the uniqueness constraint on that
identifier property being broken in the event that another entity is
keyed to the new value of the identifier property being set.</p><p class="remark"><i><span class="remark">Bug 19719</span></i></p></li><li><p>The file specified by <code class="code">resources.xml/system/terrain2</code>
(by default, <code class="filename">system/data/terrain2.xml</code> ) is loaded
each time that terrain is loaded. This can cause disk access in the
main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See
<code class="filename">fantasydemo/res/scripts/cell/FantasyDemo.py</code> for
an example.</p></li><li><p>The file specified by
<code class="filename">resources.xml/environment/materialKinds</code> (by
default, <code class="filename">system/data/material_kinds.xml</code>) is
loaded the first time a collision test occurs that involves terrain.
This can cause disk access in the main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See <code class="filename">
fantasydemo/res/scripts/cell/FantasyDemo.py</code> for an
example.</p></li><li><p>The <code class="code">UserDataObjectRef</code> module is loaded the first
time that it is needed. This can cause disk access in the main
thread.</p><p>To avoid this, import this module into your personality scripts.
See <code class="filename">fantasydemo/res/scripts/cell/FantasyDemo.py</code>
and <code class="filename">fantasydemo/res/scripts/base/FantasyDemo.py</code>
for examples.</p></li><li><p><span class="type">FIXED_DICT</span> properties that have an <code class="code">
<implementedBy> </code> can cause a module to be imported the
first time that the type is created. This can cause disk access in the
main thread.</p><p>To avoid this, import the necessary modules in the script file
of the relevant entities or the personality scripts.</p></li><li><p>MySQL stored procedures are not supported when used with the
<code class="classname">BigWorld</code>.<code class="methodname">executeRawDatabaseCommand</code>
method.</p><p>For details on this method, see the document <em class="emphasis">Server Programming Guide</em>'s section <em class="emphasis">The Database Layer -> Execute Arbitrary Commands On
Database</em>.</p></li><li><p>Due to the Watcher protocol changing as of 1.9.0, the server
tools (WebConsole, StatLogger, ControlCluster, ...) are not backwards
compatible. If your operational environment is still running 1.8.x
servers it is recommended to maintain the existing server tools as
forward compatibility has been maintained.</p></li><li><p>The 64-bit version of the server uses up to 50% more memory than
the 32-bit version in some cases.</p><p class="remark"><i><span class="remark">Bug 24442</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1763"></a>BigWorld Technology 1.9.4.5 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1768"></a>BigWorld Technology 1.9.4.4 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1773"></a>BigWorld Technology 1.9.4.3 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1778"></a>BigWorld Technology 1.9.4.2 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1781">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e1807">2. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1781"></a>1. Changed Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>A fault tolerance issue existed where entity attributes would
not exist on the restored BaseApp when
<code class="classname">Proxy</code>.<code class="methodname">onClientDeath</code>
was called.</p><p>This issue has now been fixed, however users will notice that
<code class="classname">Base</code>.<code class="methodname">onRestore</code> is now
called prior to <code class="methodname">onClientDeath</code>.</p><p class="remark"><i><span class="remark">Bug 27021</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1807"></a>2. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue that would cause client/server property changes to
be propagated incorrectly when an entity has more than 60 top-level
client/server properties.</p><p class="remark"><i><span class="remark">Bug 27059 / Ticket 1504</span></i></p></li><li><p>An issue was fixed where the Reviver process would crash after
having revived a process due to uncancelled timers.</p><p class="remark"><i><span class="remark">Bug 27028</span></i></p></li><li><p>Fixed an issue with BaseApp and CellApp reconnecting to a new
DBMgr process, for example after reviving a dead DBMgr process.</p><p class="remark"><i><span class="remark">Bug 27040</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1826"></a>BigWorld Technology 1.9.4.1 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1829">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1829"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed a threading issue affecting the reference counting of
Model objects on the server. This could cause a CellApp crash while
loading models.</p><p class="remark"><i><span class="remark">Bug 26805</span></i></p></li><li><p>Fixed an issue with processing script from WebConsole's Python
Console. Line feed characters were not being processed
correctly.</p><p class="remark"><i><span class="remark">Bug 26930</span></i></p></li><li><p>Removed log NOTICE message from CellApp's
<code class="code">Entity::updateInternalsForNewPosition</code> regarding setting
the position of a non-volatile entity. This has been replaced by two
more accurate messages. These warn when adding a movement controller
to an entity whose position is not volatile and when the
client-controlled entity does not have a volatile position.</p><p class="remark"><i><span class="remark">Bug 26921</span></i></p></li><li><p>Fixed a crash that could occur on the CellApp while destreaming
a property for an entity during creation or restoration. </p><p>The problem occurs if the property is a class-customised USER or
FIXED_DICT data type. If this property's
<code class="code">createFromStream()</code> conversion method accesses the entity
owning the property, any attempt to access one of that entity's
properties before they are destreamed would result in a segmentation
fault.</p><p>The new behaviour is to make it seem as though none of the
defined properties exist, so an <code class="classname">AttributeError</code>
will be raised instead.</p><p class="remark"><i><span class="remark">Bug 26975 / Ticket #1452</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1866"></a>BigWorld Technology 1.9.4 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e1869">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e1876">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e1883">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e1890">4. Changed Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e1893">4.1. DBMgr</a></span></dt><dt><span class="section"><a href="#d0e1982">4.2. Mercury / Network</a></span></dt><dt><span class="section"><a href="#d0e1996">4.3. BaseApp</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e2018">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e2119">6. Known Bugs & Limitations</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1869"></a>1. Overview</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BigWorld Technology 1.9.4 is the latest version of the BigWorld
Technology engine. This version contains multiple bug fixes which do
not require complicated merges. Future 1.9 releases are expected to
mainly contain bug fixes.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1876"></a>2. Executive Summary</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Multiple bug fixes and some network performance optimisations
were done in this version.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1883"></a>3. New Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>No new features</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1890"></a>4. Changed Features</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1893"></a>4.1. DBMgr</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>A new feature was introduced in BigWorld 1.9.2.3 providing a
new Entity property data type <span class="type">UNICODE_STRING</span>. To enable
the usage of this property type initially required the conditional
compilation in DBMgr. This feature has now been modified to always
be enabled. In enabling this feature and reviewing the associated
database behaviour it was deemed necessary to alter the initial
behaviour that was provided. These changes are enumerated
below:</p><div class="itemizedlist"><ul type="circle"><li><p>Existing persistent entity <span class="type">STRING</span> properties
will have their associated database column types changes from
<span class="database">TEXT</span> / <span class="database">VARCHAR</span> to <span class="database">BLOB</span> / <span class="database">VARBINARY</span>.</p><p>This change effectively means that the <span class="type">STRING</span>
data type as understood by the database is simply a byte
sequence. We do not anticipate any behavioural changes in
BigWorld as a result of this modification. If non-latin1 data
has been stored into a <span class="type">STRING</span> property however you
may notice that querying this data in a MySQL client may display
different results.</p></li><li><p>Existing entity tables (by default identified with the
prefix '<span class="literal">tbl_</span>') will have their default
character set modified to be UTF-8.</p><p>As all existing <span class="type">STRING</span> fields will have been
modified to <span class="database">BLOB</span> /
<span class="database">VARBINARY</span>, this change
should only affect newly created fields with of type <span class="database">TEXT</span> / <span class="database">VARCHAR</span> which is be used by the
<span class="type">UNICODE_STRING</span> data type.</p></li><li><p>The default character set of the database has been
modified to UTF-8.</p><p>This modification will automatically propagate the
character set to newly created entity tables as required.</p></li><li><p>The <span class="database">bigworldLogOnMapping</span> table has had its
<span class="database">logOnName</span>, <span class="database">password</span> and <span class="database">recordName</span> fields modified to <span class="database">VARBINARY</span> to be consistent with the
entity properties they replicate.</p></li><li><p>The client connection from DBMgr to the MySQL database
will now always use a character set of UTF-8.</p></li></ul></div></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1982"></a>4.2. Mercury / Network</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The network traffic generated by changing the size of an
<span class="type">ARRAY</span> property has been greatly reduced. Only the new
values and the slice being changed are streamed.</p><p>This change required modifying the client-server communication
protocol.</p><p class="remark"><i><span class="remark">Bug 15846</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e1996"></a>4.3. BaseApp</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The deprecated old-style BaseApp backup system has been
removed in this release. The old backup system made use of dedicated
backup BaseApps, and has been disabled in recent releases. The two
<code class="filename">bw.xml</code> options associated with the old-style
BaseApp backup system have also been removed:</p><div class="itemizedlist"><ul type="circle"><li><p><span class="literal">baseAppMgr/onlyUseBackupOnSameMachine</span></p></li><li><p><span class="literal">baseAppMgr/useNewStyleBackup</span></p></li></ul></div><p class="remark"><i><span class="remark">Bug 26657</span></i></p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2018"></a>5. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed a bug that allowed the BaseApp script method
<code class="classname">BigWorld</code>.<code class="methodname">delTimer</code> to
cancel timers that were not added via
<code class="classname">BigWorld</code>.<code class="methodname">addTimer</code>.
This could later cause memory corruption when the true owner of the
timer attempted to cancel it.</p><p class="remark"><i><span class="remark">Bug 26425</span></i></p></li><li><p>It was possible for Base entity timers to be restored with a
different script id. If game script had stored the original return
value of
<code class="classname">Base</code>.<code class="methodname">addTimer</code>, it was
possible that the entity would no longer work after restoration. This
has now been fixed.</p><p class="remark"><i><span class="remark">Bug 26425</span></i></p></li><li><p>The CellApp method
<code class="classname">Entity</code>.<code class="methodname">cancel</code> now
generates a Python exception if called on a ghost entity. Previously,
an assertion was hit.</p><p class="remark"><i><span class="remark">Bug 26547</span></i></p></li><li><p>Previously, calling <code class="code">entity.position.y += 1</code> on a
ghost entity would cause an assertion. A Python exception is now
raised instead.</p><p class="remark"><i><span class="remark">Bug 26489</span></i></p></li><li><p>Specifying non-ascii message filters in LogViewer should now
work correctly. Any valid UTF-8 string should work. To query BigWorld
server logs that have character set encoding other than UTF-8 will
require a modification in
<code class="filename">bigworld/tools/server/web_console/common/encoding.py</code>.</p><p class="remark"><i><span class="remark">Bug 26609</span></i></p></li><li><p>Removed the colon characters from secondary database filenames
so that they will work on Windows mounts.</p><p class="remark"><i><span class="remark">Bug 26659</span></i></p></li><li><p>Fixed a problem that could cause script methods called by the
client to be delivered to the wrong server entity. This could occur if
a message arrived from the old client just after a call to
<code class="code">Proxy.giveClientTo()</code>.</p><p class="remark"><i><span class="remark">Bug 26662</span></i></p></li><li><p>Fixed a bug that prevented Unicode characters from being used in
WebConsole's Python Console.</p><p class="remark"><i><span class="remark">Bug 26444</span></i></p></li><li><p>Fixed a bug that would cause a cell entity to get into a bad
state if it was offloaded more than 65535 times.</p><p class="remark"><i><span class="remark">Bug 26829</span></i></p></li><li><p>Fixed a bug that could cause extra property updates to be sent
to the client when a player changes CellApps. This fix reduces the
bandwidth to the client and prevents unexpected calls to
<code class="code">set_</code> methods.</p><p class="remark"><i><span class="remark">Bug 26854</span></i></p></li><li><p>Fixed a bug that caused the BaseViaCell mailbox's
<code class="code">.cell</code> attribute to not exist if the mailbox's entity type
had no base script, rather than no cell script. Also fixed the
BaseViaCell cell mailbox accessor to be wrongly mapped to
<code class="code">.base</code> on the CellApp.</p><p class="remark"><i><span class="remark">Bug N/A</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2119"></a>6. Known Bugs & Limitations</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Python hashlib does not function correctly in Bots process or
BaseApp due to an incompatibility between versions of OpenSSL.</p><p class="remark"><i><span class="remark">Bug 21059</span></i></p></li><li><p><em class="emphasis">Secondary Databases</em></p><div class="itemizedlist"><ul type="circle"><li><p>When secondary databases are enabled and the final
<code class="code">writeToDB</code> operation is disabled by passing
<code class="code">False</code> in the <code class="code">writeToDB</code> parameter of the
<code class="code">Base.destroy</code> function, all <code class="code">writeToDB</code>
operations on the entity since the entity was loaded from the
database may be disregarded. For example: </p><div class="orderedlist"><ol type="1"><li><p>Entity A is loaded from the database</p></li><li><p>Entity A's properties are changed.</p></li><li><p>Entity A is written to the database by calling the
<code class="code">Base.writeToDB</code> method.</p></li><li><p>Entity A is destroyed by calling the
<code class="code">Base.destroy</code> method but <code class="code">False</code> is
passed in the <code class="code">writeToDB</code> parameter.</p></li></ol></div><p> The <code class="code">writeToDB</code> operation in step 3,
may be disregarded and the changes to entity A's properties in
step 2 will be lost.</p><p>There is no guarantee that the changes will be lost so this
cannot be used as a rollback facility. If the system is shutdown
soon after the entity is destroyed (with <code class="code">writeToDB =
False</code>), then the changes to the entity may be
retained.</p><p>The correct behaviour should be to retain all the changes
that were supposedly written to the database using the
<code class="classname">Base</code>.<code class="methodname">writeToDB</code>
method. BigWorld will conform to this behaviour in a future
release. In the meantime, passing <code class="code">False</code> in the
<em class="parameter"><code>writeToDB</code></em> parameter to the
<code class="classname">Base</code>.<code class="methodname">destroy</code>
method should be avoided due to its unpredictable
behaviour.</p></li><li><p>When using secondary databases on a Debian Linux
distribution, the <code class="filename">transfer_db</code> script may
silently fail due to a requirement of the python libxml2 module.
When using secondary databases on Debian Linux please ensure to
<span class="literal">apt-get install python-libxml2</span> on all BaseApp
machines.</p></li></ul></div><p class="remark"><i><span class="remark">Bug 20612</span></i></p></li><li><p>This is associated with the Changed Feature regarding Identifier
properties.</p><p>In 1.9.1, we do not catch instances of setting identifier
properties that exist on the cell entity (e.g.
<span class="literal">ALL_CLIENTS</span> properties), as we do for identifier
properties on the base entity. In addition, modifications to a cell
entity identifier property in the
<code class="classname">Base</code>.<code class="varname">cellData</code> base property
(which exists if the cell entity has not been created) are also not
checked.</p><p>If an entity has been previously saved to the database
successfully, and the identifier property on the cell entity (or the
identifier property's entry in the <code class="varname">cellData</code>
dictionary) subsequently changes, the next attempt to save to the
database could fail due to the uniqueness constraint on that
identifier property being broken in the event that another entity is
keyed to the new value of the identifier property being set.</p><p class="remark"><i><span class="remark">Bug 19719</span></i></p></li><li><p>The file specified by <code class="code">resources.xml/system/terrain2</code>
(by default, <code class="filename">system/data/terrain2.xml</code> ) is loaded
each time that terrain is loaded. This can cause disk access in the
main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See
<code class="filename">fantasydemo/res/scripts/cell/FantasyDemo.py</code> for
an example.</p></li><li><p>The file specified by
<code class="filename">resources.xml/environment/materialKinds</code> (by
default, <code class="filename">system/data/material_kinds.xml</code>) is
loaded the first time a collision test occurs that involves terrain.
This can cause disk access in the main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See <code class="filename">
fantasydemo/res/scripts/cell/FantasyDemo.py</code> for an
example.</p></li><li><p>The <code class="code">UserDataObjectRef</code> module is loaded the first
time that it is needed. This can cause disk access in the main
thread.</p><p>To avoid this, import this module into your personality scripts.
See <code class="filename">fantasydemo/res/scripts/cell/FantasyDemo.py</code>
and <code class="filename">fantasydemo/res/scripts/base/FantasyDemo.py</code>
for examples.</p></li><li><p><span class="type">FIXED_DICT</span> properties that have an <code class="code">
<implementedBy> </code> can cause a module to be imported the
first time that the type is created. This can cause disk access in the
main thread.</p><p>To avoid this, import the necessary modules in the script file
of the relevant entities or the personality scripts.</p></li><li><p>MySQL stored procedures are not supported when used with the
<code class="classname">BigWorld</code>.<code class="methodname">executeRawDatabaseCommand</code>
method.</p><p>For details on this method, see the document <em class="emphasis">Server Programming Guide</em>'s section <em class="emphasis">The Database Layer -> Execute Arbitrary Commands On
Database</em>.</p></li><li><p>Due to the Watcher protocol changing as of 1.9.0, the server
tools (WebConsole, StatLogger, ControlCluster, ...) are not backwards
compatible. If your operational environment is still running 1.8.x
servers it is recommended to maintain the existing server tools as
forward compatibility has been maintained.</p></li><li><p>The 64-bit version of the server uses up to 50% more memory than
the 32-bit version in some cases.</p><p class="remark"><i><span class="remark">Bug 24442</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e2314"></a>BigWorld Technology 1.9.3.5 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e2317">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2317"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed potential memory corruption if an entity was moved via
script in its
<code class="classname">Entity</code>.<code class="methodname">onDestroy</code>
method.</p><p class="remark"><i><span class="remark">Bug 26576</span></i></p></li><li><p>The CellApp method <code class="code">Entity.cancel</code> now generates a
Python exception if called on a ghost entity. Previously, an assertion
was hit.</p><p class="remark"><i><span class="remark">Bug 26547</span></i></p></li><li><p>Fixed a memory leak caused when BigWorld 1.8 tools queries for
a watcher value that does not exist.</p><p class="remark"><i><span class="remark">Bug 26579</span></i></p></li><li><p>Fixed a race condition causing an assertion to fail on BaseApp
during startup. This could be triggered if many BaseApps were started
on the same machine.</p><p class="remark"><i><span class="remark">Bug 26550</span></i></p></li><li><p>Fixed a problem that could cause script methods called by the
client to be delivered to the wrong server entity. This could occur if
a message arrived from the old client just after a call to
<code class="code">Proxy.giveClientTo()</code>.</p><p class="remark"><i><span class="remark">Bug 26662</span></i></p></li><li><p>Fixed a bug that would cause a cell entity to get into a bad
state if it was offloaded more than 65535 times.</p><p class="remark"><i><span class="remark">Bug 26829</span></i></p></li><li><p>Fixed a bug that could cause extra property updates to be sent to
the client when a player changes CellApps. This fix reduces the
bandwidth to the client and prevents unexpected calls to
<code class="code">set_</code> methods.</p><p class="remark"><i><span class="remark">Bug 26854</span></i></p></li><li><p>Fixed a threading issue affecting the reference counting of
Model objects on the server. This could cause a CellApp crash while
loading models.</p><p class="remark"><i><span class="remark">Bug 26805</span></i></p></li><li><p>Fixed a crash that could occur on the CellApp while destreaming
a property for an entity during creation or restoration. </p><p>The problem occurs if the property is a class-customised USER or
FIXED_DICT data type. If this property's
<code class="code">createFromStream()</code> conversion method accesses the entity
owning the property, any attempt to access one of that entity's
properties before they are destreamed would result in a segmentation
fault.</p><p>The new behaviour is to make it seem as though none of the
defined properties exist, so an <code class="classname">AttributeError</code>
will be raised instead.</p><p class="remark"><i><span class="remark">Bug 26975 / Ticket #1452</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e2391"></a>BigWorld Technology 1.9.3.4 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e2396"></a>BigWorld Technology 1.9.3.3 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e2401"></a>BigWorld Technology 1.9.3.2 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e2404">1. Changed Features</a></span></dt><dt><span class="section"><a href="#d0e2413">2. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2404"></a>1. Changed Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>CellAppMgr now allows new cells to be added to retiring CellApp
processes. Previously this caused an assertion, however if another
CellApp process unexpectedly dies all available resources should be
used to help smooth the load spike.</p><p class="remark"><i><span class="remark">Ticket #994</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2413"></a>2. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Attempting to shutdown CellApp processes using the CellAppMgr
watcher
<span class="literal">cellApps/<em class="replaceable"><code><address:port></code></em>/isShuttingDown</span>
would previously fail reporting that the CellApp was already shutting
down. Setting this watcher value should now work as expected.</p><p class="remark"><i><span class="remark">Ticket #994</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e2428"></a>BigWorld Technology 1.9.3.1 Server Release Notes</h2></div></div><hr></div><p>No changes were done for this version.</p></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e2433"></a>BigWorld Technology 1.9.3 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e2436">1. Overview</a></span></dt><dt><span class="section"><a href="#d0e2443">2. Executive Summary</a></span></dt><dt><span class="section"><a href="#d0e2465">3. New Features</a></span></dt><dt><span class="section"><a href="#d0e2608">4. Changed Features</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e2611">4.1. 64 bit</a></span></dt><dt><span class="section"><a href="#d0e2618">4.2. DBMgr</a></span></dt><dt><span class="section"><a href="#d0e2650">4.3. LoginApp</a></span></dt><dt><span class="section"><a href="#d0e2687">4.4. BaseApp</a></span></dt><dt><span class="section"><a href="#d0e2713">4.5. CellAppMgr</a></span></dt><dt><span class="section"><a href="#d0e2722">4.6. Entities</a></span></dt><dt><span class="section"><a href="#d0e2740">4.7. Mercury / Network</a></span></dt><dt><span class="section"><a href="#d0e2749">4.8. Server Tools</a></span></dt><dt><span class="section"><a href="#d0e2786">4.9. Web Integration Module</a></span></dt><dt><span class="section"><a href="#d0e2818">4.10. Miscellaneous</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e2843">5. Bug Fixes</a></span></dt><dt><span class="section"><a href="#d0e2939">6. Known Bugs & Limitations</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2436"></a>1. Overview</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BigWorld Technology 1.9.3 is the latest version of the BigWorld
Technology engine. This version contains multiple bug fixes and highly
important features which do not require complicated merges. Future 1.9
releases are expected to mainly contain bug fixes.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2443"></a>2. Executive Summary</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>It is now possible to filter the AoI entities sent to the
client.</p></li><li><p>To assist in production environments, MessageLogger can be
limited to logging from a subset of machines.</p></li><li><p>Access to external services is now supported using a
BackgroundTask.</p></li><li><p>CentOS 5 Linux x86_64 distribution is now the preferred
distribution. The server is now fully compliant with CentOS
x86_64.</p></li><li><p>Analysis of watchers values can now be done using a new "Cluster
Control" module.</p></li><li><p>Multiple bug fixes were done in this version.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2465"></a>3. New Features</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added functionality to support script control of which entities
in an entity's Area of Interest are sent to the client. This is useful
for security and performance reasons.</p><p>The new methods are:</p><div class="itemizedlist"><ul type="circle"><li><p><code class="classname">Entity</code>.<code class="methodname">withholdFromClient</code>(
<em class="parameter"><code>entity</code></em>, <em class="parameter"><code>isWithheld</code></em>
)</p></li><li><p><code class="classname">Entity</code>.<code class="methodname">isWithheldFromClient</code>(
<em class="parameter"><code>entity</code></em> )</p></li><li><p><code class="classname">Entity</code>.<code class="methodname">entitiesInAoI</code>(
<em class="parameter"><code>withheld</code></em> )</p></li><li><p><code class="classname">Entity</code>.<code class="methodname">isInAoI</code>(
<em class="parameter"><code>entity</code></em> )</p></li></ul></div><p>New callback:</p><div class="itemizedlist"><ul type="circle"><li><p><code class="classname">Entity</code>.<code class="methodname">onEnteredAoI</code>(
<em class="parameter"><code>entity</code></em> )</p></li></ul></div><p class="remark"><i><span class="remark">Bug 26000</span></i></p></li><li><p>The database layer now supports the option of storing ARRAY and
TUPLE properties as a BLOB in the MySQL database instead of in
separate tables. This can improve the performance of the
database.</p><p>For more details, see the document <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_programming_guide/server_programming_guide.html#xref_Implementing_Common_Systems" class="olink"><i>Implementing Common Systems</i></a>'s section <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_programming_guide/server_programming_guide.html#xref_Storing_Arrays_And_Tuples_As_Blob" class="olink">Storing ARRAYs and TUPLEs as a BLOB</a>.</p><p class="remark"><i><span class="remark">Bug 18285</span></i></p></li><li><p>BWMachined now supports a new option <code class="option">--version</code>
which enables cluster operators to verify an installed version of
BWMachined.</p><p class="remark"><i><span class="remark">Bug 21413</span></i></p></li><li><p>To assist in production environments, MessageLogger can be
limited to logging from a subset of machines.</p><p>For more details, see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_operations_guide/server_operations_guide.html#Server_Operations_Guide" class="olink">Server Operations Guide</a>'s
section <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_operations_guide/server_operations_guide.html#xref_MessageLogger" class="olink">Message Logger</a> <span class="symbol">→</span> <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_operations_guide/server_operations_guide.html#xref_MessageLogger_Scalability" class="olink">Production Scalability</a></p><p class="remark"><i><span class="remark">Bug 17816</span></i></p></li><li><p>BaseApp and CellApp scripts can access external services (e.g.
billing or shopping systems) without blocking the main thread by using
a <code class="classname"> BackgroundTask </code> module.</p><p>For more details, see the document <em class="emphasis"> Server
Programming Guide</em>'s section <em class="emphasis"> External
Services</em>.</p></li><li><p>Added a new configuration option <code class="code">cellApp/ghostDistance
</code>which allows customising the distance from a cell boundary
which will be considered for ghosting entities.</p></li><li><p>Added a new chapter, <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_programming_guide/server_programming_guide.html#xref_Implementing_Common_Systems" class="olink"><i>Implementing Common Systems</i></a>, to the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_programming_guide/server_programming_guide.html#Server_Programming_Guide" class="olink">Server Programming Guide</a>.</p></li><li><p>Non ASCII characters will now be correctly displayed in
LogViewer. By default a UTF8 encoding is used, however this can be
easily modified by editing the <code class="varname">ENCODING</code> constant in
<code class="filename">bigworld/tools/server/web_console/log_viewer/controllers.py</code>.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2608"></a>4. Changed Features</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2611"></a>4.1. 64 bit</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BigWorld now supports Linux CentOS 5.3 x86_64 distribution.
Customers are encouraged to choose this distribution as their target
distribution. It is expected that this distribution will become the
primary BigWorld distribution for BigWorld 2.0.</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2618"></a>4.2. DBMgr</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The database table to entity definition synchronisation
functionality has been removed from DBMgr into a separate tool
<em class="emphasis">sync_db</em>.</p><p>For more details, see the document <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_operations_guide/server_operations_guide.html#Server_Operations_Guide" class="olink">Server Operations Guide</a> section <a xmlns:xlink="http://www.w3.org/1999/xlink" href="../server_operations_guide/server_operations_guide.html#xref_DBMgr_MySQL_Support" class="olink"><i>MySQL Support</i></a>.</p></li><li><p>The data consolidation tool is now multi-threaded and has
better performance. The
<code class="property"><dbMgr>/<numConnections></code>
configuration setting determines the number of threads that the data
consolidation tool spawns.</p><p class="remark"><i><span class="remark">Bug 21706</span></i></p></li><li><p>SyncDB now performs a single <span class="literal">ALTER TABLE</span>
SQL command for all column modifications (i.e, add, delete, modify)
when migrating between two entity definitions. This drastically
increases the performance of SyncDB when migrating an existing
database with large entity datasets.</p><p class="remark"><i><span class="remark">Bug 26101</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2650"></a>4.3. LoginApp</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The <code class="filename">bw.xml</code> settings
<code class="property"><loginApp/externalAddress></code> and
<code class="property"><loginApp/localNetMask></code> have been moved
to
<code class="property"><networkAddressTranslation/externalAddress></code>
and
<code class="property"><networkAddressTranslation/localNetMask></code>
to better reflect their meaning. The old options are still usable
but are deprecated and will be removed in a future release.</p><p class="remark"><i><span class="remark">Bug 24584</span></i></p></li><li><p>LoginApp now supports specifying multiple login ports via
<code class="property">loginApp/externalPorts/port</code> entries in the
server configuration files. This allows a range of ports to be used
as candidates on startup in the case that multiple LoginApps will be
started on the same machine.</p><p>The <code class="property">loginApp/port</code> option still works but
is now deprecated.</p><p class="remark"><i><span class="remark">Bug 26212</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2687"></a>4.4. BaseApp</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>BaseApp's <code class="property">baseApp/externalPort</code>
configuration option has been replaced by
<code class="property">baseApp/externalPorts/port</code> to be consistent
with the equivalent option of LoginApp.</p><p>The <code class="property">baseApp/externalPort</code> option still
works but is now deprecated.</p></li><li><p>A new option
<code class="property">baseApp/shouldShutDownIfPortUsed</code> has been
added.</p><p class="remark"><i><span class="remark">Bug 26212</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2713"></a>4.5. CellAppMgr</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Added better load distribution protection for situations where
large numbers of spaces are created in a small period of time.
Previously a large number of spaces could be created on a single
CellApp due to the frequency of CellApps notifying the CellAppMgr of
their current load. Space creation should now be more evenly
distributed across CellApps in this situation.</p><p class="remark"><i><span class="remark">Ticket 637</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2722"></a>4.6. Entities</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Client only entities now allow instantiation for properties of
type <span class="literal">OWN_CLIENT</span>, and any other data property
types that use <span class="literal">DATA_OWN_CLIENT</span>. A Client side
<span class="literal">NOTICE_MSG</span> will be generated for these types of
property types.</p><p class="remark"><i><span class="remark">Bug 21570, 24773</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2740"></a>4.7. Mercury / Network</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The server no longer sends login replies to the client as
once-off reliable messages, relying instead on the client's
application-level retry mechanism to resend the login requests. This
reduces the effect of DoS attacks. The login version has been bumped
for this reason.</p><p class="remark"><i><span class="remark">Bug 25043</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2749"></a>4.8. Server Tools</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>In order to accommodate 64 bit binaries, compiled server tools
have been moved into a new location, <code class="filename">bigworld/tools/server/bin/</code>. If
upgrading from a previous release, please follow our upgrade
recommendations in the <em class="emphasis">Server Tools
Installation Guide</em>.</p><p class="remark"><i><span class="remark">Bug 23318</span></i></p></li><li><p>In order to accommodate 64 bit distributions such as CentOS
which ship with older versions of Python (i.e, Python 2.4),
MessageLogger and the Python interface to the logs
<code class="filename">BWLog.so</code> have been more logically separated.
This has involved a major code change in <code class="filename">bigworld/src/server/tools/message_logger/</code>.
This change should not have changed functionality at all, however as
a result of this refactor a lot of methods and classes and have been
renamed to assist code readability. Also as a result of this change,
MessageLogger no longer supports writing of text logs using the
<code class="option">-t</code>/<code class="option">--text</code> options.</p><p class="remark"><i><span class="remark">Bug 24727</span></i></p></li><li><p>Watcher functionality in WebConsole has been moved to a new
"Watchers" module underneath the "Cluster Control" module. As part
of this separation a new filtered watchers feature has been added
which enables wildcard viewing of watcher values across server
processes. A set of pre-configured filtered watchers that may be
useful has been provided.</p><p class="remark"><i><span class="remark">Bug 25542</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2786"></a>4.9. Web Integration Module</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>The Web Integration module for Python and PHP have had their
functions <code class="methodname">BigWorld.setNubPort()</code> (Python)
and <code class="methodname">bw_set_nub_port()</code> (PHP) deprecated.
These functions have been renamed to
<code class="methodname">BigWorld.resetNetworkInterface()</code> and
<code class="methodname">bw_reset_network_interface()</code>
respectively.</p><p class="remark"><i><span class="remark">Bug 24803</span></i></p></li><li><p>When building the Web Integration modules and supporting
libraries in Hybrid[<span class="optional">
<code class="option">64</code>
</span>]_SingleThreaded mode, the Python re-distribution is no
longer built with the BigWorld modifications that enable file access
from only within a BigWorld resource path.</p><p class="remark"><i><span class="remark">Bug 14312</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2818"></a>4.10. Miscellaneous</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>By default, BigWorld now gets its timestamp from the
<code class="function">clock_gettime</code> syscall and not the time stamp
counter register (rdtsc). To return to the previous behaviour, refer
to the section on <code class="property">TimingMethod</code> in <em class="emphasis">Server Tools Installation Guide</em>.</p><p class="remark"><i><span class="remark">Bug: N/A</span></i></p></li><li><p><code class="filename">bigworld/tools/server/install/setup_win_dev.py</code>
now mounts windows shares without group and world writable
permissions. This is to allow more reliable compilation of
openssl.</p><p class="remark"><i><span class="remark">Bug: 25087</span></i></p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2843"></a>5. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Converting from a Python integer to a C++ integer is now
strictly checked that it's in a valid range. For example, assigning a
value larger than 127 to a uint8 function argument was previously
allowed but the value would be truncated to fit. This is no longer
allowed.</p><p class="remark"><i><span class="remark">Bug 23381</span></i></p></li><li><p>Clients are now better able to maintain their connection to the
server when they pause for an extended period of time. Previously, it
was possible for the client to not process a resent packet (sent via
piggyback) but still indicate to the server that it had been received.
This meant that this packet would never be processed and the channel
would be in a bad state.</p><p>Significant improvements have also been made in situations where
there is packet loss or significant, temporary lag. The number of
resent packets should now be significantly less.</p><p class="remark"><i><span class="remark">Bug 24199</span></i></p></li><li><p>mlcat <code class="option">--translate</code> now works when selecting a
particular server startup.</p><p class="remark"><i><span class="remark">Bug 21715</span></i></p></li><li><p>The RDTSC timing method now functions correctly on 64 bit
systems.</p><p class="remark"><i><span class="remark">Bug: N/A</span></i></p></li><li><p>BaseApp and CellApp processes now appropriately shut down when a
failed server startup has occured prior to the processes having
registering with BWMachined.</p><p class="remark"><i><span class="remark">Bug: 25031</span></i></p></li><li><p>Added protection against a rare case where a server process that
was killed / died was immediately replaced with another unrelated
process (thus consuming the server process' PID). BWMachined now
detects this case has occured and drops the defunct server process
from its list of active server processes.</p><p class="remark"><i><span class="remark">Ticket: 544</span></i></p></li><li><p>Fixed a bug in WebConsole/LogViewer that was causing the search
range to be offset by the difference between the daylight-savings
timezone offset and the non-daylight-savings timezone offset. The log
search input time would always be treated as a time in
daylight-savings regardless of whether daylight savings on the server
was actually in effect.</p><p class="remark"><i><span class="remark">Bug: N/A</span></i></p></li><li><p>Fixed a bug that could cause CellApp processes to fail to start
up if there is a poorly configured bwmachined process on the network.
The CellApp process would report that it could not find the CellAppMgr
even though one was present.</p><p class="remark"><i><span class="remark">Bug: 26094</span></i></p></li><li><p>Reduced the amount of log data generated when packets come in on
the BaseApp's external interface that cannot be processed. This
includes packets coming from clients that have been disconnected for a
while. These packets are encrypted and they cannot be decrypted once
the channel has gone.</p><p class="remark"><i><span class="remark">Bug: 25998</span></i></p></li><li><p>Reduced the amount of log data generated by BaseApp when clients
are experiencing packet loss.</p><p class="remark"><i><span class="remark">Ticket: 644</span></i></p></li><li><p>Improved the argument checking to
<code class="classname">Entity</code>.<code class="methodname">entitiesInRange</code>().
Previously if an invalid entity type string was passed in, all entity
types were matched. A Python <span class="type">ValueError</span> is now
raised.</p><p class="remark"><i><span class="remark">Ticket: 647</span></i></p></li><li><p>Fixed a bug in the BigWorld Python import hook mechanism.
Previously, reloading modules using the Python built-in
<code class="code">reload()</code> function would use a cached copy of the source
file read when first imported, instead of re-reading the potentially
modified file from the disk.</p><p class="remark"><i><span class="remark">Bugs: 26152, 26104; Ticket: 602</span></i></p></li><li><p>Fixed a possible CellApp crash if createGhost messages from
different CellApps for the same entity are received in the wrong
order.</p><p class="remark"><i><span class="remark">Bug: 26203</span></i></p></li><li><p>The first input to a client entity's movement filter was
incorrect for entities on a vehicle. It was passed in global
coordinates instead of local coordinates. This could show up as
passenger entities moving quickly towards their vehicle.</p><p class="remark"><i><span class="remark">Bug: 26410</span></i></p></li><li><p>Fixed an issue with DBMgr not reconnecting to the MySQL server,
or any of the configured backup database servers, if the connection to
the current MySQL server is lost.</p><p class="remark"><i><span class="remark">Bug: 26437; Ticket: 829</span></i></p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2939"></a>6. Known Bugs & Limitations</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Python hashlib does not function correctly in Bots process or
BaseApp due to an incompatibility between versions of openssl.</p><p class="remark"><i><span class="remark">Bug 21059</span></i></p></li><li><p>
<em class="emphasis">Secondary Databases</em>
</p><div class="itemizedlist"><ul type="circle"><li><p>When secondary databases are enabled and the final
<code class="code">writeToDB</code> operation is disabled by passing
<code class="code">False</code> in the <code class="code">writeToDB</code> parameter of the
<code class="code">Base.destroy</code> function, all <code class="code">writeToDB</code>
operations on the entity since the entity was loaded from the
database may be disregarded. For example: </p><div class="orderedlist"><ol type="1"><li><p>Entity A is loaded from the database</p></li><li><p>Entity A's properties are changed.</p></li><li><p>Entity A is written to the database by calling the
<code class="code">Base.writeToDB</code> method.</p></li><li><p>Entity A is destroyed by calling the
<code class="code">Base.destroy</code> method but <code class="code">False</code> is
passed in the <code class="code">writeToDB</code> parameter.</p></li></ol></div><p> The <code class="code">writeToDB</code> operation in step 3,
may be disregarded and the changes to entity A's properties in
step 2 will be lost.</p><p>There is no guarantee that the changes will be lost so this
cannot be used as a rollback facility. If the system is shutdown
soon after the entity is destroyed (with <code class="code">writeToDB =
False</code>), then the changes to the entity may be
retained.</p><p>The correct behaviour should be to retain all the changes
that were supposedly written to the database using the
<code class="code">Base.writeToDB</code> method. BigWorld will conform to this
behaviour in a future release. In the meantime, passing
<code class="code">False</code> in the <code class="code">writeToDB</code> parameter to the
<code class="code">Base.destroy</code> method should be avoided due to its
unpredictable behaviour.</p></li></ul></div><p class="remark"><i><span class="remark">Bug 20612</span></i></p></li><li><p>This is associated with the Changed Feature regarding Identifier
properties.</p><p>In 1.9.1, we do not catch instances of setting identifier
properties that exist on the cell entity (e.g.
<span class="literal">ALL_CLIENTS</span> properties), as we do for identifier
properties on the base entity. In addition, modifications to a cell
entity identifier property in the <code class="varname">Base.cellData</code>
base property (which exists if the cell entity has not been created)
are also not checked.</p><p>If an entity has been previously saved to the database
successfully, and the identifier property on the cell entity (or the
identifier property's entry in the <code class="varname">cellData</code>
dictionary) subsequently changes, the next attempt to save to the
database could fail due to the uniqueness constraint on that
identifier property being broken in the event that another entity is
keyed to the new value of the identifier property being set.</p><p class="remark"><i><span class="remark">Bug 19719</span></i></p></li><li><p>The file specified by <code class="code"> resources.xml/system/terrain2
</code> (by default, <code class="code"> system/data/terrain2.xml </code> ) is
loaded each time that terrain is loaded. This can cause disk access in
the main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See <code class="code">
fantasydemo/res/scripts/cell/FantasyDemo.py </code> for an
example.</p></li><li><p>The file specified by <code class="code">
resources.xml/environment/materialKinds </code> (by default, <code class="code">
system/data/material_kinds.xml </code> ) is loaded the first time a
collision test occurs that involves terrain. This can cause disk
access in the main thread.</p><p>To avoid this, load and store a reference to this file's data
section in your cell's personality script. See <code class="code">
fantasydemo/res/scripts/cell/FantasyDemo.py </code> for an
example.</p></li><li><p>The <code class="code"> UserDataObjectRef </code> module is loaded the first
time that it is needed. This can cause disk access in the main
thread.</p><p>To avoid this, import this module into your personality scripts.
See <code class="code"> fantasydemo/res/scripts/cell/FantasyDemo.py </code> and
<code class="code"> fantasydemo/res/scripts/base/FantasyDemo.py </code> for
examples.</p></li><li><p><code class="code"> FIXED_DICT </code> properties that have an <code class="code">
<implementedBy> </code> can cause a module to be imported the
first time that the type is created. This can cause disk access in the
main thread.</p><p>To avoid this, import the necessary modules in the script file
of the relevant entities or the personality scritps.</p></li><li><p>MySQL stored procedures are not supported when used with the
<code class="code"> BigWorld.executeRawDatabaseCommand </code> method.</p><p>For details on this method, see the document <em class="emphasis"> Server Programming Guide </em> 's section <em class="emphasis"> The Database Layer -> Execute Arbitrary Commands On
Database </em> .</p></li><li><p>Due to the Watcher protocol changing as of 1.9.0, the server
tools (WebConsole, StatLogger, ControlCluster, ...) are not backwards
compatible. If your operational environment is still running 1.8.x
servers it is recommended to maintain the existing server tools as
forward compatibility has been maintained.</p></li><li><p>The 64-bit version of the server uses up to 50% more memory than
the 32-bit version in some cases.</p><p class="remark"><i><span class="remark">Bug 24442</span></i></p></li></ul></div></div></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e3115"></a>BigWorld Technology 1.9.2.6 Server Release Notes</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e3118">1. Bug Fixes</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3118"></a>1. Bug Fixes</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Fixed an issue with Channels that were registered for a delayed
send, and reset to <code class="code">Address::NONE</code> before the delayed send
occurred, causing an assertion failure. Now these channels are sent on
just before they are reset to a new address.</p><p class="remark"><i><span class="remark">Bug 26845</span></i></p></li><li><p>Fixed a bug that would cause a cell entity to get into a bad
state if it was offloaded more than 65535 times.</p><p class="remark"><i><span class="remark">Bug 26829</span></i></p></li><li><p>Fixed a threading issue affecting the reference counting of
Model objects on the server. This could cause a CellApp crash while
loading models.</p><p class="remark"><i><span class="remark">Bug 26805</span></i></p></li><li><p>Fixed an issue with Channels that were registered for a delayed
send, and reset to <code class="code">Address::NONE</code> before the send occurred,
causing the assertion <code class="code">addr_ != Address::NONE</code> to fail on
<code class="code">Nub::send()</code>.</p><p class="remark"><i><span class="remark">Bug 26845 / Ticket #1340</span></i></p></li><li><p>Fixed a crash that could occur on the CellApp while destreaming
a property for an entity during creation or restoration. </p><p>The problem occurs if the property is a class-customised USER or