Sau nhiều tháng nghiên cứu Thiên Long Bát Bộ Private Server, mình đã biết được không ít kinh nghiệm trong việc tuỳ chỉnh server/client TLBB. Trong khoảng thời gian này, mình cũng làm GM cho 1 private server - chắc bạn nào cũng biết . Tất nhiên là gặp rất nhiều vấn đề phát sinh: các lỗi server phát sinh, lỗi tài khoản, cách chỉnh sửa thông số... Nay, mình sẽ chia sẽ tất cả những kinh nghiệm trên từ A-Z. Việc này có ích cho những bạn khác muốn làm một private online như mình chẳng hạn. Các bạn chơi offline thì cũng có thể tuỳ chỉnh 1 cách nhanh chóng hơn theo hướng dẫn của mình. Tất cả các hướng dẫn sẽ giải thích cụ thể cách tuỳ chỉnh. Mình sẽ cố gắng trình bày 1 cách cụ thể theo ý mình nhất. Có thể các bạn xem sẽ không hiểu hoặc chưa hiểu ngay. Nhưng đừng vội, hãy đọc hết rồi hiểu sau ^^ Tất cả Tut (bài hướng dẫn) sẽ hướng dẫn mọi khía cạnh - có thể là không đầy đủ hết 100% - từ cách cài đặt Linux, các lệnh liên quan, cách chống attack đơn giản (các cách này mình đều dùng qua - nhưng chả chống được gì khi bị người ta flood ^^) Cách làm rỗng dữ liệu MySQL Chú thích: Cách này dùng cho bạn nào cần làm 1 private Server online. Để xoá tất cả những dữ liệu cũ (tránh bị lỗi phát sinh khi vận hành server) Có nhiều cách, mình xin trình bày cách dùng command trong linux: Code: mysql -u root -p [gõ pass của root] use tlbbdb; delete from t_guild; #xoá thông tin các bang delete from t_char; #xoá thông tin các nhân vật delete from t_city; #Xoá thông tin các thành bang update t_char set guldid = -1; exit; *Lưu ý: Sau # là chú thích cho câu lệnh, các bạn không cần gõ vào. Sao lưu trước khi thực hiện những lệnh trên, để có gì lỗi thì còn restore ^^ chứ đừng tìm mình chém ^^ Sau khi xoá các thông tin trên thì đã cơ bản dọn các thông tin rác. Để hoàn tất thì các bạn xoá thêm các table: t_ability : thông tin các kỹ năng sống t_charextra: thông tin thêm của nhân vật t_cshop : shop thương hội t_cshopitem: các item trong thương hội t_impact : các hiệu ứng của nhân vật t_iteminfo : thông tin các item t_mail : thông tin tin nhắn t_mission : thông tin nhiệm vụ t_pet : thông tin pet t_petcreate : thông tin pet đang sinh sản t_pshop : danh sách thương hội t_relation : danh sách quan hệ : hảo hữu, bất hữu... t_skill : thông tin các skill t_xinfa : thông tin tâm pháp của các skill Hướng dẫn chỉnh sửa file Server/Config/ConfigInfo.ini Như các bạn đã biết hoặc chưa biết file ConfìgInfo.ini có vai trò khá quan trọng trong server và chứa nhiều cấu hình quan trọng. Sau đây là chú thích của các cấu hình đó. (Có thể có sai sót ^^) [Global] DropParam=1.0 ;Điều chỉnh tỉ lệ Drop EquipmentDamagePoint=500 ;Điều chỉnh độ bền của item RespawnParam=1.0 ;Thời gian khôi phục cái quái vật sau khi chết: 0: ngay lập tức; 1: theo cấu hình ở các file Scene PkRefixOfDamage=200 ;tỉ lệ thiệt hại khi PK PrenticeProfferExp=2 ;Exp nhận được thêm khi làm sư phụ GodReliveTopLevel=20 ;Level cho phép hồi sinh sau khi chết AuditSwitch=1 ;lưu lại log để thống kê, kiểm tra [Localization] Language=4 ; 0:en,1:cn,2:tw,3:ko,4:vi; [Zone] ZoneSize=10 ;khu vực [TimeSetting] RecoverTime=10000 ;Thời gian mỗi lần hồi máu (khi ngồi thiền, dùng dược cao...) DisconnectTime1=20000 ;thời gian còn lưu giữ trong game khi bị ngắt kết nối DisconnectTime2=20000 ;thời gian còn lưu giữ trong game khi bị ngắt kết nối KickUserTime=300000 ;thời gian tối đa, cho phép kết nối lại sau khi bị ngắt kết nối SMUKickUserTime=1800000 ;Thời gian kick người dùng ra khỏi hệ thống DropBoxRecycle=60000 ;thời gian xóa túi đồ đánh quái rớt ra TimeChangeInterval=150000 ;thời gian nghỉ PacketAuditTime=0 ;thống kê số kết nối mạng gửi đi, tần số, thời gian nghỉ. 0: không thống kê [Monster] MaxCount=19000 ;Số quái vật cao nhất trong game DefaultRespawnTime=120000 ;thời gian hồi sinh mặc định của quái vật DefaultPositionRange=10 ;khoảng cách hồi sinh mặc định DefaultAIType=1 ;cấu hình AI mặc định của quái vật DefaultBodyTime=5000 ;thời gian lưu lại mặc định của quái vật DefaultBossBodyTime=60000 ;thời gian lưu lại mặc định của quái vật BOSS DefaultRefuseScanTime=3000 ;thời gian từ chối hồi sinh mặc định OddsOfChangeTarget=20 ;xác xuất thay đổi mục tiêu OddsOfAttackAssistant=16 ;khả năng tấn công ChangeTargetCooldown=3 ;thời gian thay đổi mục tiêu MonsterMaxDefaultLevel=200 ;cấp độ cao nhất mặc định [Zone] ZoneSize=10 ;khu vực [Portal] MaxCount=1024 ;Số kết nối cao nhất vào game world [Platform] MaxCount=1024 ;Số thông tin kỹ năng sống cao nhất (may vá, khai khoáng..) [SkillObj] MaxCount=1024 ;Số SkillObj cao nhất [SpecialObj] MaxCount=1024 ;Số SpecialObj cao nhất [BusObj] MaxCount=1024 ;Số BusObj cao nhất [PlayerShop] MaxCount=256 ;Số cửa hàng trong thương hội cao nhất PaymentPerHour=0 ;chi phí phải trả sau mỗi giờ - thương hội [SceneTimer] MaxCount=64 [HumanTimer] MaxCount=3 [Pet] MaxCount=3000 PetBodyTime=2000 ;thời gian lưu pet PetHappinessInterval=600000 ;thời gian giảm độ khoái lạc PetLifeInterval=600000 ;thời gian giảm tho mệnh PetDecLifeStep=6 ; PetCallUpHappiness=60 ;độ khoái lạc thấp nhất để gọi pet PetPlacardTime=1800000 ;thời gian xuất pet PetPlacardNeedLevel=15 ;cấp độ cần thiết PetPlacardNeedHappiness=100 ;độ hoan hỷ cần thiết PetPlacardNeedLife=3000 ;tho mệnh cần thiết PetCompoundGenGuFloat=5 ;% thay đổi căn cốt khi nâng ngộ tính PetCompoundGrowFloat=5 ;% độ phát triển PetCompoundBabyPer_VV=10 ;% của pet trưởng thành, bảo bảo, biến dị PetCompoundBabyPer_BB=95 ;% pet bảo bảo, biến dị PetCompoundBabyPer_VB=30 ;% của pet trưởng thành, bảo bảo, biến dị PetCompoundPerceptionPer=70 ;% thay đổi tính chất từ thú cha mẹ PetMaxDefaultLevel=125 ;cấp độ cao nhất cua pet [Human] CanGetExpRange=30 ;khoảng cách nhận exp OutGhostTime=300000 ;thời gian giải thoát linh hồn xuống địa phủ (ms) DefaultMoveSpeed=4000 ;tốc độ di chuyển mặc định DefaultAttackSpeed=2000 ;tốc độ tấn công mặc định (không có mang vũ khí) DefaultRefreshRate=60000 ;tần số quét mặc định HumanVERecoverInterval=300000 ;thời gian hồi phục tinh, hoạt lực HumanMaxDefaultLevel=150 ;cấp độ cao nhất PKValueRefreshRate=3600 ;tần số quyét sát khí HumanDefPilferLockTime=0 ;thời gian khóa XinfaMaxDefaultLevel=150 ; cấp độ tâm pháp cao nhất LevelUpValidateMinLv=14 ;cấp độ thất nhất nhập mã xác nhận khi lên cấp LevelUpValidateMaxLv=25 ;cấp độ cao nhất nhập mã xác nhận khi lên cấp [Team] AvailableFollowDist=10 ;khoảng cách theo đội TimeForLoseFollow=30 ;thời gian ngắt khi theo đội thất bại [Guild] FoundDuration=24 ;thời gian nhập bang khác khi thoát bang (h) DefaultMaxMemberCount=600 ;số thành viên mặc định cao nhất ResponseUserCount=2 ;số thành viên để lập thành (kể cả Bang chủ) XianYaMaxUser_0=110 ;giới hạn thành viên XianYaMaxUser_1=110 ;giới hạn thành viên XianYaMaxUser_2=110 ;giới hạn thành viên XianYaMaxUser_3=110 ;giới hạn thành viên XianYaMaxUser_4=110 ;giới hạn thành viên XianYaStdMoney_0=1666667 ;giới hạn bang quỹ XianYaStdMoney_1=3333333 ;giới hạn bang quỹ XianYaStdMoney_2=6666667 ;giới hạn bang quỹ XianYaStdMoney_3=13333333 ;giới hạn bang quỹ XianYaStdMoney_4=26666667 ;giới hạn bang quỹ QianZhuangDeltaMoney_0=833333 ;giới hạn bang quỹ QianZhuangDeltaMoney_1=1666667 ;giới hạn bang quỹ QianZhuangDeltaMoney_2=3333333 ;giới hạn bang quỹ QianZhuangDeltaMoney_3=6666667 ;giới hạn bang quỹ QianZhuangDeltaMoney_4=13333333 ;giới hạn bang quỹ XianYaMaxMoney_0=10000000 ;giới hạn bang quỹ XianYaMaxMoney_1=20000000 ;giới hạn bang quỹ XianYaMaxMoney_2=40000000 ;giới hạn bang quỹ XianYaMaxMoney_3=60000000 ;giới hạn bang quỹ XianYaMaxMoney_4=80000000 ;giới hạn bang quỹ XianYaMaxTrader_0=8 ;số tuyến đường thương nghiệp XianYaMaxTrader_1=9 ;số tuyến đường thương nghiệp XianYaMaxTrader_2=10 ;số tuyến đường thương nghiệp XianYaMaxTrader_3=11 ;số tuyến đường thương nghiệp XianYaMaxTrader_4=12 ;số tuyến đường thương nghiệp XiangFangMaxUser_0=30 ;giới hạn thành viên XiangFangMaxUser_1=50 ;giới hạn thành viên XiangFangMaxUser_2=80 ;giới hạn thành viên XiangFangMaxUser_3=120 ;giới hạn thành viên XiangFangMaxUser_4=150 ;giới hạn thành viên CreateCityMoney=10000000 ;phí lập thành LeaveWordCost=1000 ;phí bang ngôn BattleTime=120 ;thời gian chiến đầu LeftGuildBuffEnable=0 ;buff bang hội khi thoát [Relation] PasswdPoint=500 ;số điểm quan hệ cần thiết để nhập pass 2 PromptPoint=0 ;số điểm cần thiết để chú thích khi hảo hữu rời mạng ExpPoint=1 ;số điểm hảo hữu [MinorPassword] DeleteDelayTime=72 ;thời gian mở khóa (h) EnergySetCost=20 ;tốn tinh lực khi khóa, mở khóa EnergyModifyCost=20 ;tốn tinh lực khi đổi mã EnergyDelCost=100 ;tốn tinh lực khi xóa mã MaxInputErrTimesPerDay=5 ;số lần nhập sai cho phép trong ngày PWUnlockTime=72 ;thời gian mở khóa [World] HashOnlineUserCount=1000 ;Số người cho phép online HashMailUserCount=20000 ;số tin nhắn cho phép MaxOfflineUserCount=50000 ;thông số lưu tối đa của các tài khoản SpeakerPoolMax=128 ;số ký tự cho phép dùng trên tiểu lạt bá [Temp] UserPath=./Users/ ;lưu thông tin tài khoản [Combat] DefaultDamageFluctuation=8 ;sức sát thương mặc định H0ofHitCalculation=10 ;Tỉ lệ tấn công tính từ H0 C0ofCriticalCalculation=100 ;Tỉ lệ tấn công tính từ C0 C1ofCriticalCalculation=10 ;Tỉ lệ tấn công tính từ C1 C2ofCriticalCalculation=25 ;Tỉ lệ tấn công tính từ C2 [GoodBad] ;thiện ác MinGoodBadValue=0 ;thiện ác thấp nhất MaxGoodBadValue=1000000 ;thiện ác cao nhất LevelNeeded=20 ;cấp độ cần thiết MemberLevel=10 ;cấp độ thành viên MemberLevelLimit=40 ;cấp độ thành viên thấp nhất LevelDis=8 ;khoảng cách cấp độ GoodBadRadius=15 ;giá trị thiện ác đạt được BonusPerMember=5 ;giá trị thiện ác đạt được từ thành viên BonusPerPrentice=3 ;giá trị thiện ác đạt được MaxBonus=2 ;giá trị thiện ác được cộng cao nhất PenaltyWhenMemberDie=100 ;giá trị thiện ác bị trừ khi thành viên chết [JuqingPoint] ;ớẫẵéộãÊý MinJuqingPoint=0 ;điểm thấp nhất MaxJuqingPoint=9999 ;điểm cao nhất ;[Revenge] ;RevengeCDTime=86400000 ;thời gian tự vệ ;RevengeTime=3600000 ;thời gian tự vệ ;RevengeNeedSelfLevel=10 ;cấp độ cần thiết ;RevengeNeedTargetLevel=10 ;cấp độ của mục tiêu [Economic] RateA=0.25 ;người chơi phải tốn thuế thường hội : giá cơ bản *A(=1/3) RateB=0.1 ;giá của thương phẩm phải nhỏ hơn B(=1/10) YuanBaoSceneID=20 ;map chuyển đổi YuanBaoTicketMax=9999999 ;giá trị cao nhất của phiếu nguyên bảo NewServerSaleRate=1.0 ;tham số giá cả của dịch vụ chuyển đổi MinExchangeCodeLevel=14 ;cấp độ nhỏ nhất MaxExchangeCodeLevel=25 ;cấp độ cao nhất [Exp] ExpParam=300.0 ;exp rate ExpSpouseAddRate=0.04 ;rate được cộng khi là phu thê ExpBrotherAddRate=0.02 ;rate được cộng khi là huynh đệ ExpMasterInTeamAddRate=0.2 ;rate được cộng khi trong nhóm có sư phụ ExpMasterNotInTeamAddRate=0.1 ;rate được cộng kh trong nhóm không có sư phụ ExpPrenticeAddRate=0.05 ;exp rate được cộng sau mỗi lần cộng [Duel] ;DuelCDTime=86400000 ;thời gian thách đấu DuelTime=600 ;thời gian đấu DuelLevelRequire=10 ;cấp độ cần thiết DuelEnergyRequire=100 ;tốn tinh lực [Warfare] PersonalWarfareTime=600 ;tốn thời gian cá nhân [PK] PKFlagSwitchDelay=600 ;thời gian chờ tắt pk HostilePlayerWarning=30 ;thời gian cảnh báo thù địch [FightBack] LegalFightBackTime=600 ;thời gian tấn công lại hợp pháp [Ability] AssistantDemandFormulaParam0=1.514 ;thời gian hồi phục kỹ năng sống 0 AssistantDemandFormulaParam1=19.0 ;thời gian hồi phục kỹ năng sống 1 AssistantDemandFormulaParam2=0.2 ;thời gian hồi phục kỹ năng sống 2 AssistantDemandFormulaParam3=37.1 ;thời gian hồi phục kỹ năng sống 3 [Fatigue] EnableFatigueState=0 ;kích hoạt tính năng mệt mỏi (giới hạn giờ chơi) LittleFatigueTime=10800 ;thời gian kích hoạt mệt mỏi ít (s) ExceedingFatigueTime=18000 ;thời gian kích hoạt mệt mỏi nhiều (s) ResetFatigueStateOfflineTime=18000 ;thời gian khởi tạo lại thời gian mệt mỏi sau khi offline [YuanBao] MaxDayCostYuanBao=16777215 ;số KNB dùng trong ngày max=16777215,0xFFFFFF [MonsterIncome] LittleIncomeMonsterCount=7000 ;số quái vật (khi giảm số kết nối vào) NilIncomeMonsterCount=10000 ;số quái vật (khi không có kết nối) LittleIncomePercent=0.5 ;giảm số % của kết nối [CommisionShop] ;gửi bán KNB, vàng SendBackTime=360 ;thời gian trả lại YuanbaoFee=2 ;Phí nguyên bảo GoldCoinFee=2 ;phí vàng Value0=50 ;giá trị KNB 1 Value1=200 ;giá trị KNB 2 Value2=500 ;giá trị KNB 3 Value3=100000 ;giá trị vàng 1 Value4=500000 ;giá trị vàng 2 Value5=1500000 ;giá trị vàng 3 [CacheLogTime] ;thống kê người chơi khi đăng nhập LogInCacheTime=4 Cách chỉnh những item rớt ra khi đánh quái vật Để tuỳ chỉnh được điều này các bạn cần hiểu biết các thông số trong 3 file sau: DropBoxContent.txt, MonsterDropBoxs.txt, MonsterAttrExTable.txt -Đầu tiên: tìm ID của quái vật bạn cần cho rớt đồ khi đánh chết trong MonsterAttrExTable.txt -MonsterDropBoxs.txt : qui định những loại box được rớt ra khi đánh chết quái theo ID của monster -DropBoxContent.txt : qui định item của từng loại box Cách chỉnh là như thế. Để chỉnh được cũng rất là công phu, phức tạp...công việc này không dành cho một người. Do đó, một server có drop hợp lý là cả một nhóm thực hiện. *Lưu ý: để chỉnh sửa các file txt cấu hình trong TLBB Server một cách dễ dàng thì các bạn sử dụng Excel 2007. Phiên bản 2003 cũng được nhưng bị lỗi khi số cột nhiều hơn 256. Cách add thêm NPC Đầu tiên phía Client phải có model của NPC đó. Ở đây chúng ta dùng các model đã có sẵn. Nếu bạn có khả năng đồ hoạ thì có thể tự thiết kế trang phục, hình dáng cho NPC của bạn ^^ Còn mình thì không có khả năng đồ hoạ Ví dụ: add một NPC chào mừng tại Đại lý Mở thư mục tlbb\Public\Scene Tìm và mở file dali_monster.ini Giải thích một số thứ trong file này: [info] monstercount=162 ;tổng số NPC [monster0] guid=1986678 type=193 ; ID của NPC name=Thôi Phùng Cửu ; tên NPC title=Ông chủ dịch trạm ; tiêu đề pos_x=241.3763 ; toạ độ pos_z=136.5375 dir=27 script_id=2026 ; script qui định của NPC respawn_time=1000 ; thời gian hồi sinh group_id=-1 team_id=-1 base_ai=3 ai_file=0 patrol_id=-1 shop0=-1 shop1=-1 shop2=-1 shop3=-1 ReputationID=-1 level=-1 .... Số NPC hiện tại là 162. Do đó để thêm 1 NPC thì ta sửa lại thành 163 Thêm vào cuối file thông tin cho NPC [monster162] guid=1986678 type=193 ; ID của NPC name=NPC Mới ; tên NPC title=Chào mừng ; tiêu đề pos_x=100.3763 ; toạ độ pos_z=100.5375 dir=27 script_id=2096 ; script qui định của NPC respawn_time=1000 ; thời gian hồi sinh group_id=-1 team_id=-1 base_ai=3 ai_file=0 patrol_id=-1 shop0=-1 shop1=-1 shop2=-1 shop3=-1 ReputationID=-1 level=-1 Các bạn chỉ cần chỉnh lại script_id và tên NPC cho phù hợp. Quan trọng nhất là script_id. Ở đây mình chọn 2096 vì các script qui định cho các NPC ở Đại lý là từ 2000 -> 2095, khi thêm 1 NPC mới thì tức là cũng thêm một script mới. Do đó mình đặt là 2096 để không bị trùng với script khác cũng như dễ theo dõi, chỉnh sửa... Tại sao mình biết các NPC ở đại lý có script từ 2000-> 2095 ? Các bạn mở file tlbb/Public/Data/Script.dat là sẽ hiểu File này chứa tất cả thông tin các script khi server chạy sẽ load file này. Do đó khi add thêm NPC nữa thì cũng thêm thông tin cho file này. 002096=\obj\dali\odali_npc_chao_mung.lua Các bạn tạo file odali_npc_chao_mung.lua và soạn các script cần thiết cho NPC rồi bỏ vào đường dẫn \obj\dali\ như đã thiết lập ở trên. Chú thích các cấu trúc, dữ liệu trong TLBB TLBB sử dụng dữ liệu cho thông tin tài khoản là Oracle. Do đó để có tài khoản thì các bạn cần thao tác trên cơ sở dữ liệu Oracle như đăng kí, đổi mật khẩu,..., khoá tài khoản (GM).. Các thông tin khác về thông tin nhân vật, pet, item,... đều được lưu trong cơ sở dữ liệu MySQL. TLBB cũng sử dụng SQL Server. Nhưng thật sự là nó không cần thiết. Cơ sở dữ liệu này được cài chỉ với mục đích là dùng được GM Toold - Tool này hiện không còn hữu dụng nữa. Do đó các bạn không nên cài làm gì cho nặng máy ^^ bộ SQL Server ngốn khá nhiều tài nguyên máy. Giải thích chức năng các thông tin trong thư mục tlbb: -Billing : có chức năng đọc các thông tin dữ liệu tài khoản từ oracle phục vụ cho việc login, đổi knb... -Login : cho phép người chơi đăng nhập vào máy chủ, login sẽ kết nối đến Billing để kiểm tra tài khoản. Sau khi vào game xong thì Login không còn quan trọng nữa và bạn tắt nó cũng không sao -Server/Config : chứa rất nhiều cấu hình. Sẽ post ở phần sau. -Public : chứa tất cả các script, cấu hình của NPC và quái vật.. Hiểu biết cấu trúc server cũng như cơ sở dữ liệu là điều cần thiết nếu bạn muốn làm một server online. Khi làm game TLBB online, đều không được khuyến khích là chạy server trên máy ảo. Và đây cũng là các vấn đề mà các private TLBB hiện tại đang gặp phải vì hầu hết đều dùng máy ảo. Vì tính bảo mật của linux đã bị mất khi hoạt động như một máy ảo. Chú thích các cấu trúc, dữ liệu trong TLBB TLBB sử dụng dữ liệu cho thông tin tài khoản là Oracle. Do đó để có tài khoản thì các bạn cần thao tác trên cơ sở dữ liệu Oracle như đăng kí, đổi mật khẩu,..., khoá tài khoản (GM).. Các thông tin khác về thông tin nhân vật, pet, item,... đều được lưu trong cơ sở dữ liệu MySQL. TLBB cũng sử dụng SQL Server. Nhưng thật sự là nó không cần thiết. Cơ sở dữ liệu này được cài chỉ với mục đích là dùng được GM Toold - Tool này hiện không còn hữu dụng nữa. Do đó các bạn không nên cài làm gì cho nặng máy ^^ bộ SQL Server ngốn khá nhiều tài nguyên máy. Giải thích chức năng các thông tin trong thư mục tlbb: -Billing : có chức năng đọc các thông tin dữ liệu tài khoản từ oracle phục vụ cho việc login, đổi knb... -Login : cho phép người chơi đăng nhập vào máy chủ, login sẽ kết nối đến Billing để kiểm tra tài khoản. Sau khi vào game xong thì Login không còn quan trọng nữa và bạn tắt nó cũng không sao -Server/Config : chứa rất nhiều cấu hình. Sẽ post ở phần sau. -Public : chứa tất cả các script, cấu hình của NPC và quái vật.. Hiểu biết cấu trúc server cũng như cơ sở dữ liệu là điều cần thiết nếu bạn muốn làm một server online. Khi làm game TLBB online, đều không được khuyến khích là chạy server trên máy ảo. Và đây cũng là các vấn đề mà các private TLBB hiện tại đang gặp phải vì hầu hết đều dùng máy ảo. Vì tính bảo mật của linux đã bị mất khi hoạt động như một máy ảo. Chú thích các file script chức năng trong thư mục Public Public\Data\AIScript\script (0 ~ 264) : script qui định các thông tin tấn công, skill của quái Public\Data\Script\event\bossgroup\ : qui định thông tin các boss nhóm: Võ Di, Thương Sơn... Public\Data\Script\event\bus\ : thông tin tuyến đường khi rước kiệu dâu (lễ kết hôn) Public\Data\Script\event\caoyun\ : thông tin khi đi tàu vận gặp phải, qui định bao gồm các quái cản đường, NPC Hắc Thị Thương Nhân.... Public\Data\Script\event\challenge\ : thông tin lôi đài các thành Đại lý và Lạc Dương Public\Data\Script\event\city\ : thông tin các nhiệm vu trong thành bang Public\Data\Script\event\chuansong\ : thông tin dịch chuyển giữa các map Public\Data\Script\event\dali\ : thông tin các nhiệm vụ ở Đại lý Public\Data\Script\event\emei\ : nhiệm vụ nhận skill thêm của Nga Mi Public\Data\Script\event\equip\ : các script liên quan đến trang bị : cường hoá, sửa chữa... Public\Data\Script\event\EventScript\ : gồm nhiều nhiệm vụ tổng hợp Public\Data\Script\event\festival\ : thông tin nhiệm vụ lễ hội (trung thu, giáng sinh..) Public\Data\Script\event\fuben\ : các phụ bản: Kính Hồ, Kỳ Cuộc, Thuỷ Lao... Public\Data\Script\event\gaibang\ : nhiệm vụ phái cái bang Public\Data\Script\event\guild\ : thông tin Bang hội Public\Data\Script\event\huashan\ : Luận Kiếm Hoa Sơn Public\Data\Script\event\huodong\ : gồm nhiều sự kiện trong game : đánh lén môn phái, tỉ vỏ, đổi tên nv, đổi tên Bang, đổi Long Bài, nhận phần thưởng phu thê, sư đồ... Public\Data\Script\event\jinghu\ : Boss Kính Hồ Public\Data\Script\event\juqing\ : script nv kịch tình Public\Data\Script\event\liveabilityevent\ : các thông tin về kỹ năng sống: khai khoáng, câu cá... Public\Data\Script\event\luoyang\ : nhiệm vụ ở Lạc Dương Public\Data\Script\event\menpai\ : thông tin phần thưởng khi gia nhập môn phái Public\Data\Script\event\mingjiao\ : nhiệm vụ phái MG Public\Data\Script\event\misc\ : thông tin xoá PK, gửi bán Public\Data\Script\event\peifang\ : các kỹ năng pha chế Public\Data\Script\event\pet\ : thông tin script liên quan PET Public\Data\Script\event\petcompound\ : nâng ngộ tính pet Public\Data\Script\event\petprocreate\ : sinh sản pet Public\Data\Script\event\petskill\ : ép skill pet Public\Data\Script\event\pingpan\ : nhiệm BÌnh định Public\Data\Script\event\prize\ : script shop KNB Public\Data\Script\event\quiz\ : nhiệm vụ trả lời câu hỏi Public\Data\Script\event\relation\ : quan hệ Public\Data\Script\event\revenge\ : quyết đấu Public\Data\Script\event\sceneevent\ : các nhiệm vụ đặc biệt Public\Data\Script\event\shaolin : thiếu lâm phái Public\Data\Script\event\shimen : nhiệm vụ sư môn Public\Data\Script\event\signpost : thông tin script của lính gác thành Public\Data\Script\event\stiletto : đục lỗ trang bị Public\Data\Script\event\test : test Public\Data\Script\event\tianlong : thiên long Public\Data\Script\event\tianshan : thiên sơn Public\Data\Script\event\wudang : võ đang Public\Data\Script\event\xiaoyao : tiêu dao Public\Data\Script\event\xingxiu : tinh túc Public\Data\Script\event\xunhuan : Q 123, thuỷ lao, script đổi màu, kiểu tóc, mặt, bình tặc, thi cử... Public\Data\Script\event\yanbei : script đổi đồ tại Nhạn Bắc \Public\Data\Script\obj : mỗi thành thị có một thư mục chứa các script của từng NPC \Public\Data\Script\city*.lua : script của các NPC trong thành Bang Hội Các file txt cần biết: Public \ Config \ ActivityNotice.txt : thông báo các sự kiện trong game Public \ Config \ DropNotify.txt : thông báo khi nhặt được vật phẩm quí Các lệnh thường dùng trong linux I. Xem thông tin hệ thống top xem performent hệ thống arch hiển thị cấu trúc của máy(1) uname -m hiển thị cấu trúc của máy(2) uname -r hiển thị phiên bản kernel đang sử dụng dmidecode -q Hiển thị hệ thống phần cứng - (SMBIOS / DMI) hdparm -i /dev/hda trình bày những đặc trưng của 1 ổ cứng ( lưu ý, hard disk cap ATA là hda còn SATA là sda ) hdparm -tT /dev/sda test thử ổ cứng cat /proc/cpu hiển thị thông tin CPU cat /proc/interrupts hiển thị sự ngắt của các tiến trình cat /proc/meminfo hiển thị bộ nhớ đang sử dụng cat /proc/swaps hiển thị file ở phân vùng swap cat /proc/version hiển thị phiên bản kernel cat /proc/net/dev cho thấy card mạng và thông tin thống kê cat /proc/mounts hiển thị file hệ thống được sử dụng cho mounts lspci -tv hiển thị thiết bị PCIdisplay PCI devices lsusb -tv hiển thị thiết bị USB date hiển thị ngày hệ thống (phat tat’ het ud truoc khi doi) cal 2007 hiển thị lịch năm 2007 date 041217002007.00 thiết lập ngày và giờ - MonthDayhoursMinutesYear.Seconds clock -w lưu thay đổi ngày trên BIOS Thao tác ổ đĩa: df -h hiện danh sách phân vùng được mount ls -lSr |more hiện kích cỡ của tâptin và thư mục và sắp xếp theo dung lượng du -sh dir1 estimate space used by directory 'dir1' du -sk * | sort -rn hiện dung lượng của tập tin và thư mục và sắp sếp theo dung lượng rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n hiện dung lượng được sử dụng bởi gói được cài đặt và sắp xếp theo dung lượng (fedora, redhat and like) dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n hiện dung lượng được cài đặt bởi gói deb và sắp xếp theo dung lượng (ubuntu, debian and like) II. Thao tác với OS shutdown -h now tắt máy init 0 tắt máy(2) telinit 0 tắt máy(3) shutdown -h hours:minutes & tắt máy sau theo thời gian đợi shutdown -c hủy lện tắt máy theo thời gian shutdown -r now khởi đọng lại(1) reboot khởi động lại(2) logout rời khỏi phiên làm việc III. Hệ thống File cd /home đến thư mục '/ home' cd .. quay ngược lại 1 bậc cd ../.. quay ngược lại 2 bậc cd đến thư mục home cd ~user1 đến thư mục home cd - trở lại thư mục trước đây pwd hiển thị đường dẫn thư mục hiện hành ls hiển thị tập tin và thư mục ls -F hiển thị tập tin trong thư mục ls -l hiển thị chi tiết tập tin và thư mục ls -a hiển thị tập tin ẩn ls *[0-9]* hiển thị tập tin và thư mục có chứa số tree hiển thị tập tin và thư mục theo cấu trúc cây lstree hiển thị tập tin và thư mục theo cấu trúc cây(2) mkdir dir1 tạo 1 thư mục có tên 'dir1' mkdir dir1 dir2 tạo cùng lúc 2 thư mục mkdir -p /tmp/dir1/dir2 tạo ra 1 cây thư mục rm -f file1 xóa tập tin có tên 'file1' rmdir dir1 xóa thư mục có tên 'dir1' rm -rf dir1 xóa thư mục 'dir1' và tất cả các tập tin trong thư mục đó rm -rf dir1 dir2 xóa cùng lúc 2 thư thư mục và tất cả các tập tin trong hai thư mục đó mv dir1 new_dir đổi tên/ di chuyển 1 tập tin hoặc thư mục cp file1 file2 sao chép 1 tập tin cp dir/* . sao chép tất cả các tập tin trong thư mục cp -a /tmp/dir1 . sao chép thư mục đang làm việc cp -a dir1 dir2 sao chép một thư mục ln -s file1 lnk1 tạo một đường dẫn đến 1 tập tin hoặc thư mục ln file1 lnk1 tạo 1 đường dẫn vật lý đến 1 tập tin hoặc thư mục touch -t 0712250000 file1 thay đổi thời gian tạo file hoặc thư mục- (YYMMDDhhmm) file file1 hiển thị kiểu tập tin ở chế độ văn bản iconv -l hiện danh sách mã hóa iconv -f fromEncoding -t toEncoding inputFile > outputFile tạo mới từ hồ sơ được nhập vào đã cho bởi việc giả thiết nó được mã hóa trong fromEncoding và chuyển đổi đến toEncoding. find . -maxdepth 1 -name \*.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; thay đổi kích thước tập tin trong thư mục hiện hành và gởi chúng đến thư mục thumbnails (cái này ko biết dịch sao) được iu cầu chuyển đổi từ Imagemagick Du –cs dir1 Xem dung lượng thư mục dir1 Copy 1 file từ máy 10.15.96.22 sang máy 10.15.96.27, đang đứng trong máy 22 gõ lệnh sau, giả sử data là tên dữ liệu cần gửi đến thư mục /home trên máy 27 với user root thì : scp data [email protected]:/home sau đó nó sẽ hỏi pass root của máy 10.15.96.27, làm tương tự nếu đó là các user khác Khi nào thì không nên dùng scp: 1. Khi bạn copy nhiều file, scp sẽ tạo một tiến trình mới cho mỗi file và có thể khá chậm khi copy 2. khi sử dụng tuỳ chọn -r, scp không biết về symbolic link và sẽ mù quáng làm theo, thậm chí nếu nó đã tạo một bản copy của file đó rồi. tar -jxf file_name.tar.bz2 giải nén file tar dạng bz2, tar -zxf file_name.tar.gz giải nén file tar dạng gz tar -jcf file_name.tar.bz2 file_to_archive nén file dạng bz2, tar -zcf file_name.tar.gz file_to_archive nén file dạng gz find / -name file1 tìm tập tin và thư mục trong thư mục hệ thống root từ dấu "/"s (-name: để hiện đường dẫn đến file1) find / -user user1 tìm tập tin và thư mục thuộc về 'user1' find /home/user1 -name \*.bin tìm tập tin với phần mở rộng '. bin' từ thư mục '/ home/user1' find /usr/bin -type f -atime +100 tìm tập tin nhị phần và ko được sử dụng hơn 100 ngày find /usr/bin -type f -mtime -10 tìm tập tin được tạo ra hoặc thay đổi trong vòng 10 ngày gần nhất find / -name \*.rpm -exec chmod 755 '{}' \; tìm tập tin với phần mở rộng '.rpm' và phân quyền find / -xdev -name \*.rpm tìm tập tin với phân mở rộng '.rpm' bỏ qua các phân vùng cdrom, pen-drive, etc.… locate \*.ps tìm tập tin với phần mở rộng '.ps' trước khi chạy lệnh 'updatedb' whereis halt xuất hiện vị trí tập tin nhị phân, nguồn hoặc hướng dẫn o which halt xuất hiện đầy đủ đường dẫn nhị phân / phân ứng dụng IV. Lệnh Mount mount /dev/hda2 /mnt/hda2 mount ổ đĩa tên là hda2 - xác minh tồn tại của thư mục '/ mnt/hda2' umount /dev/hda2 ngừng mount ổ đĩa có tên hda2 - fuser -km /mnt/hda2 ép ngừng mount khi thiết bị đang bận umount -n /mnt/hda2 ngừng mount và ko ghi lên tập tin /etc/mtab - có tác dụng khi tập tin có thuốc tính readonly hoặc bị full ổ cứng mount /dev/fd0 /mnt/floppy mount một đĩa mềm mount /dev/cdrom /mnt/cdrom mount a cdrom / dvdrom mount /dev/hdc /mnt/cdrecorder mount a cdrw / dvdrom mount /dev/hdb /mnt/cdrecorder mount a cdrw / dvdrom mount -o loop file.iso /mnt/cdrom mount một tập tin hoặc iso image mount -t vfat /dev/hda5 /mnt/hda5 mount a Windows FAT32 file system mount /dev/sda1 /mnt/usbdisk mount a usb pen-drive or flash-drive mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share Mount thư mục để copy qua 2 máy: Trên máy nguồn edit lại /etc/exports : thêm đường dẫn thư mục cần Share /u01/test *(rw,sync,no_root_squash) Máy đích lập 1 thư mục bất kỳ để mount, rồi dùng lệnh: mount -t nfs 10.15.96.22:/u01/test /etc/1mount V. Users and Groups groupadd group_name tạo một nhóm mới groupdel group_name xóa một nhóm groupmod -n new_group_name old_group_name đổi tên nhóm useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 tạo một người dùng mới trong nhóm admin useradd user1 tạo một người dùng mới userdel -r user1 xóười dùng ( '-r' loại trừ thư mục gốc) usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 thay đổi thuộc tính người dùng passwd đổi mật mã passwd user1 đổi mật mã người dùng (chỉ dành cho root) chage -E 2005-12-31 user1 thiết lập độ dài của mật khẩu người dùng pwck kiểm tra cú pháp đúng và tập tin định dạng trong '/etc/passwd' và sự tồn tại của người dùng grpck kiểm tra cú pháp đúng và tập tin định dạng trong '/etc/group' và sự tồn tại của nhóm newgrp group_name đăng nhập tới một nhóm mới để thay đổi nhóm mặc định (của) những tập tin mới được tạo ra. --------------------------- 1. Các lệnh cơ bản # ls // giống như dir của windows # vi // mở trình soạn thảo văn bản text # passwd // đổi password user hiện tại # chmod // cấp quyền cho thư mục và tập tin (chmod 777) là toàn quyề # chgrp // thay đổi group cho thư mục và tập tin # chown // thay đổi owner thư mục và tập tin # cp a b // copy file a vào thư mục b # reboot // khởi động lại hệ thống # shutdown -h now // shutdown hệ thống (tắt máy) 2. Networking (hạn chế sử dụng khi đang ở chế độ remote): # ifconfig // xem và config ip của server # setup // chọn Network Configuration để set IP cho server # vi /etc/resolv.conf // cấu hình dns cho server # ifdown eht0 // down card mạng eth0 # ifup eht0 // up card mạng eth0 # service network restart // khởi động lại service mạng 3. Kiểm tra hệ thống # top // xem tình trạng sử dụng tài nguyên RAM, CPU của hệ thống # uptime // xem tình trạng trung bình của hệ thống và thời gian hệ thống đã online # fdisk -l // xem các ổ cứng HDD có trên server # df -h // kiểm tra mức độ sử dụng ổ cứng HDD # cat /proc/cpuinfo // kiểm tra CPU # cat /proc/meminfo // kiểm tra mức độ sử dụng bộ nhớ # du -hs // kiểm tra dung lượng thư mục 4. Webserver và MySQL # service httpd status // xem tình trạng webserver # service httpd restart // khởi động lại webserver # service mysqld restart // khởi động lại mysql # mysqlcheck -Aao -auto-repair -u[MySqlAdmin] -p[Password] // kiểm tra sửa và optimize mysql database 5. Nén và giải nén # tar -cvzpf archive.tgz /home/example/public_html/folder // nén một thư mục # tar -tzf backup.tar.gz // liệt kê file nén gz # tar -xvf archive.tar // giải nén một file tar Liệnh Vi Linux là một hệ điều hành được điều khiển đa phần qua môi trường dòng lệnh ( console ), thêm vào đó, các file cấu hình dịch vụ trên Linux thường được chỉnh sửa bởi trình editor là vi ( hay vim, bản cải thiện của vi ). Nếu bạn là người thường xuyên quản trị server linux qua console, thì vi là trình tiện ích hay sử dụng . Do vậy, học cách sử dụng vi là một yêu cầu tối thiểu và cần thiết cho một người sử dụng linux. 1. Cơ bản - Sử dụng vi kèm theo tên file(s) muốn edit: vi one.txt two.txt etc.txt - Có 2 mode: command mode và insert mode. Khi bắt đầu sử dụng lệnh vi, vi mặc định ở command mode. Hoặc ấn Esc để chuyển sang command mode khi người dùng đang ở insert mode. 2. Các lệnh edit cơ bản - Ấn phím lệnh i hoặc a từ chế độ command mode để chuyển sang insert mode. i để thêm ký tự trước con trỏ, a để thêm ký tự sau con trỏ. - Sử dụng lệnh h j k l hoặc các phím mũi tên tương ứng để di chuyển con trỏ sang trái, xuống, lên, sang phải. - Sử dụng x xóa 1 ký tự, dw xóa 1 từ, dd xóa cả 1 dòng. - Sử dụng số N đi trước phím lệnh để lặp lại N lần tác dụng của lệnh. Ví dụ, 3dw sẽ xóa 3 từ tính từ vị trí con trỏ. - Sử dụng u ( = undo )để khôi phục lại những thay đổi trước đó. - Sử dụng ZZ hay hay :wq lưu lại tất cả thay đổi và thoát. - Sử dụng :q! thoát ra không lưu lại bất kỳ thay đổi nào. 3. Cắt và dán - yy sao chép dòng hiện tại vào buffer, Nyy sao chép N dòng. - p ( P ) dán nội dung từ buffer vào dưới ( trên ) dòng hiện tại 4. Nhảy đến hàng hay cột - Gõ một số N trước ký tự G để đi đến dòng thứ N, vd 23G sẽ nhảy đến dòng 23. - Gõ một số N trước ký tự | (pipe) để nhảy đến cột thứ N. 5. Sử dụng . để lặp lại action gần . Ví dụ người dùng gõ i để insert dòng chữ “hello world”, sau đó chuyển sang chế độ command mode bằng phím Esc, nhảy xuống dòng và gõ . , dòng chữ “hello world” sẽ hiện ra. 6. Tìm kiếm - Sử dụng / (?) đi theo sau là từ muốn tìm để tìm kiếm từ trong phần văn bản sau ( trước ) con trỏ. ví dụ /foobar hay ?foobar. - Sau khi kết quả tìm kiếm đầu tiên hiện ra, sử dụng n để tìm kiếm tiếp trong phần văn bản còn lại sau con trỏ, N để tìm kiếm ngược trở lại đầu văn bản trước con trỏ. 7. Các lệnh colon ( đi sau dấu : ) - :%s/foo/bar/g tìm sự xuất hiện của “foo” trong toàn bộ file và thay thế bằng “bar”, /foo/bar/g chỉ thay thế ở dòng hiện tại. - et nu hiển thị số dòng trước mỗi dòng, et nonu để bỏ hiển thị số dòng. - :1,8d xóa từ dòng 1 cho đến dòng 8 trong file. - Sử dụng ma để đánh dấu dòng hiện tại là a ( có thể là bất cứ ký tự nào từ a-z ). Sau đó dùng ‘a để nhảy đến dòng đã được dánh dấu là a từ bất cứ đâu. Có thể sử dụng với colon, :’a,’b d xóa tất cả các dòng bắt đầu từ dòng được đánh dấu là a cho đến dòng được đánh dấu là b, hoặc ngược lại. - :w newfile.txt để save nội dung của file hiện tại vào một file mới là newfile.txt ( tựa “save as” bên Win Word ). - :8,16 co 32 để copy dòng 8 đến 16 đến điểm sau dòng 32. - :3,16 m 32 để chuyển rời dòng 8 đến 16 đến điểm sau dòng 32. - Nếu dùng vi để mở nhiều file ( vi file1 file2 file3 ), có thể sử dụng :n để nhảy đến file tiếp theo và :rew để nhảy quay ngược lại đến file đầu tiên, :args để hiện thị tất cả các file đang được mở. 8. Vi for Smarties - Sử dụng G để nhảy đến dòng cuối cùng của file. - Khi xóa nhiều dòng, di chuyển con chuột đến dòng đầu tiên, gõ ma để đánh dấu, sau di đến dòng cuối cùng và gõ d’a để xóa những dòng đó. - $ để nhảy xuống cuối dòng, :$ để nhảy đến dòng cuối của file. - 0 để nhảy đến đầu dòng, :0 để nhảy tới dòng đầu tiên của file. - d$ xóa từ vị trí con trỏ hiện tại đến cuối dòng. - :10,$ d xóa từ dòng 10 cho đến dòng cuối cùng của file, hoặc ngược lại. - :10,20 m 0 chuyển rời dòng 10 đến 20 lên trên dòng đầu tiên của file. Cách chống Flood đơn giản Đây là các cách chống Flood mình tìm hiểu được trên mạng và đã sử dụng. Qua sử dụng, mình nhận thấy để chống được Flood từ một số lượng nhỏ (<100 máy tính) tấn công thì khả quan, còn nếu hơn nữa thì .... Hiện tại các pri server TLBB đã từng bị các loại tấn công như : -SYN FlOOD :loại này xưa rồi nhưng vẫn hiệu quả, làm cho mạng ở server thường đơ ngay lập tức. Nếu đường truyền của bạn tốt thì %network bị đưa lên 100%. Còn router bèo thì đơ liền, khỏi cần vào máy tính *Cách chống: chỉ chống được khi sở hữu đường truyền tốt (như các đường truyền ở Data center chẳng hạn). Thêm đoạn sau vào file /etc/sysconfig/sysctl.conf Code: # Enable TCP SYN Cookie Protection net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_synack_retries=9 Thêm một rule vào iptables Code: # Limit the number of incoming tcp connections # Interface 0 incoming syn-flood protection iptables -N syn_flood iptables -A INPUT -p tcp --syn -j syn_flood iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN iptables -A syn_flood -j DROP Restart lại Linux là ok --> Cách trên mình đã test, rất ok! Bot NET thì khỏi chống Ngăn chặn một số kiểu tấn công dạng khác Chỉ chặn được các phương thức tấn công đơn giản Chống Syn Flooding: Code: iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT Chống Scan Port: Code: iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT Chống Ping of Death: Code: iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT Cho các packet đã thiết lập kết nối tiếp tục đi qua firewall: Code: iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT Chống giả mạo địa chỉ nội bộ từ bên ngoài để xâm nhập: Code: iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP Chặn Ping: Code: iptables -A INPUT -p icmp -j DROP Chặn kết nối đến cổng nào đó : ví dụ chặn tất cả kết nối đến cổng 1521 (Oracle) Bạn có thể thay DROP bằng ACCEPT để cho phép 1 số kết nối từ các IP bạn cho phép. Code: iptables -A INPUT -p TCP --dport 1521 -j DROP Chú thích, ý nghĩa các cột trong các table quan trọng trong db tlbbdb Như các bạn đã biết, hầu hết dữ liệu các thông tin nhân vật, item, pet, nhiệm vụ, tâm pháp, skill, các quan hệ, shop, bang.....mọi thứ đều lưu trong tlbbdb. Và tất cả đều có thể chỉnh sửa được. Nhưng chúng ta chưa hiểu hết các cột đó chứa nội dung gì ? và chỉnh như thế nào ? - tất nhiên là không bàn đến các cột đơn giản ^^ Sau đây mình sẽ trình bày những gì mình biết Các từ ngữ dùng trong bài viết các bạn nên biết: db: viết tắt của databse -> có nghĩa là cơ sở dữ liệu table: bảng column: cột (có thể viết tắt là col ) row : dòng ( có thể gọi cách khác là trường ) Bắt đầu là table t_char : chứa nội dung, thông tin nhân vật... Từ cửa sổ query bạn có thể gõ lệnh Code: select * from t_char where accname="huuduyen" Ở đây huuduyen là tên tài khoản của mình. Lệnh trên xuất tất cả thông tin cở về nhân vật trong table t_char ra cho bạn xem và chỉnh sửa. Ta lướt qua các cột: aid : số thứ tự (cột tự động tăng dần) - không cần quan tâm cũng được accname : tên tài khoản charguid : ID nhân vật - hiển thị dạng thập phân - trong game hiển thị dạng thập lục phân Ví dụ: trong game nhân vật có ID là 3C336A98 thì chuyển sang thập phân tức nhân vật có ID là 1010002584 Điều này cho phép GM dễ dàng theo dõi các tài khoản trong game vì truy xuất đến thông tin nhân vật thông qua tên tài khoản và tên nhân vật hơi khó khăn. Vì đôi khi tên nhân vật chứa kí tự đặt biệt... Code: select * from t_char where charguid=1010002584 charname : tên nhân vật title : Danh hiệu pw : mật khẩu cấp 2 trong game, có dạng +xxxxxx sex : giới tính : 0 : nữ; 1 : nam level : cấp độ enegry : tinh lực enegrymax : giới hạn tinh lực outlook : chưa biết scene : ID map đang đứng xpos : toạ độ x zpos : toạ độ z menpai : ID môn phái 0 Thiếu Lâm 1 Minh Giáo 2 Cái Bang 3 Võ Đang 4 Nga My 5 Tinh Túc 6 Thiên Long 7 Thiên Sơn 8 Tiêu Dao 9 Không có hp : máu, huyết mp : khí, mana strikepoint : điểm tiếp xúc str : cường lực spr : nội lực con : thể lực ipr : trí lực dex : thân pháp points : điểm cộng logouttime : giờ thoát game (s) logintime : giờ vào game (s) creatime : giờ tạo nhân vật (s) haircolor : màu tóc hairmodel : kiểu tóc facecolor : màu mặt facemodel : kiểu mặt vmoney : tiền vàng isvalid : hợp pháp exp : điểm kinh nghiệm pres : dữ liệu các kỹ năng, skill (chi tiết dữ liệu sẽ được giải thích sau) mdata : dữ liệu các thông số nhiệm vụ trong game: số lần chuyển sinh, đã hoàn thành nhiệm vụ nào, số lần, ....(chi tiết dữ liệu sẽ được giải thích sau) mflag : relflag : settings : thiết lập trong game : vị trí các skill, cấu hình tuỳ chỉnh trong game: chặn hảo hữu, tổ đội... dbverision : chưa biết shopinfo : thông tin thương hội (chi tiết dữ liệu sẽ được giải thích sau) carrypet : pet mang theo (chi tiết dữ liệu sẽ được giải thích sau) guldid : ID bang hội ( -1 : không có Bang) teamid : ID tổ đội ( -1 : không có) headid : erecover : vigor : hoạt lực maxvigor : giới hạn hoạt lực vrecover : pwdeltime : giờ xoá pass 2 pinfo : thông tin cá nhân bkscene : map cũ (trước khi chuyển sang map mới) bkxpos : toạ độ x map cũ bkzpos : toạ độ z map cũ titleinfo : thông tin danh hiệu dietime : giờ chết (s) cooldown : chưa biết bankmoney : tiền vàng trong rương bankend : rage : chưa biết reserve : chưa biết dinfo : chưa biết defeq : chưa biết guildpoint : điểm cống hiến Bang menpaipoint : điểm môn phái gevil : bang hội chiến pkvalue : sát khí : -2, -1, 0, 1, 2, 3 otime : thời gian online (s) deltime : giờ xoá expinfo : thông tin exp savetime : giờ lưu thông tin lần cuối crc32 : chưa biết pvpinfo : tình trạng pk loginip : IP đăng nhập (mã hoá) pkvaluetime : thời gian giá trị sát khí fatigue : giới hạn thời gian chơi yuanbao : nguyên bảo visualgem : thông tin ngọc sử dụng isolditem : chưa biết uipoint : điểm cá nhân zengdian : điểm tặng Chú thích thông tin table: t_iteminfo Table này chứa nhiều thứ hay nên mình trình bày trước. aid : Số thứ tự charguid : ID của nhân vật guid : ID nhóm Item world : ID World Server server : ID server itemtype : ID của item - qui định trong commonitem.txt, equipbase.txt, blueequipbase.txt, whiteequipbase.txt pos : vị trí của item 0-29 : 30 vị trí trong túi đạo cụ 30-59 : túi nguyên liệu 100-116 : vị trí mà người chơi đang mặc item trên người 119-138 : ví trí trong rương 1 139-158 : vị trí trong rương 2 159-178 : vị trí trong rương 3 p1, p2, p3 : vị trí lỗ trống trên trang bị p4 : chưa biết p5 : qui định rất nhiều thứ trong đó có qui định số lỗ trống trên trang bị. 13107200 : không có 13107201 : 1 13107202 : 2 13107203 : 3 p6 : qui định nhiều thứ, mạnh nhất cho trang bị là 167307008 p7 : qui định tư chất trang bị. -838860800 : toàn mỹ 17% p8 : qui định phẩm chất nội, ngoại của trang bị. -473961500 toàn mỹ p9 : qui định số sao của trang bị p10 : qui định nhiều phẩm chất trang bị. giới hạn máu +x : x1 % giới hạn máu +%x: x2 độ hồi phục máu +x : x4 giớ hạn khí +x : x8 % giới hạn khí +%x: x16 độ hồi phục khí +x : x32 băng công +x : x64 kháng băng +x : x128 độ làm chậm +x : x256 hoả công +x : x512 kháng hoả +x : x1024 tăng thời gian +x : x2048 huyền công +x : x4096 kháng huyền +x : x8192 thời gian gây hoa mắt +x : x16384 độc công +x : x32768 kháng độc +x : x65536 thời gian trúng độc +x : x131072 kháng tất cả +%x : x262144 ngoại công +x : x524288 ngoại công cơ bản +%x : x1048576 vũ khí ngoại công cơ bản +%x : x2097152 ngoại thủ +x : x4194303 ngoại thủ cơ bản +%x : x8388608 áo giáp ngoại thủ +%x : x16777216 trang sức ngoại thủ +%x : x33554432 nội công +x : x67108864 nội công cơ bản +%x : x134217728 vũ khí nội công cơ bản +%x : x268435456 nội thủ +x : x536870912 nội thủ cơ bản +%x : x1073741824 áo giáp nội thủ +%x : x2147483648 p11 : qui định nhiều tính chất của trang bị bù sát thương nội công +%x : x1 tốc độ đánh +x : x2 thời gian phục hồi khi bị skill làm choáng +x : x4 cường lực +x : x8 thân pháp +x : x16 trí lực +x : x32 giảm thủ (của kẻ địch) +x : x64 tốc độ +x : x128 phản damage +x : x256 (giống skill phản kích, phản chấn của PET) hồi phục khí khi bị sát thương +x : x512 chưa biết +x : x1024 chưa biết +x : x2048 chưa biết +x : x4096 chưa biết +x : x8142 chưa biết +x : x16384 hội thủ +x : x32768 tất cả các thuộc tính +x : x65536 hút máu +x : x131072 hút khí +x : x262144 ngoại công cơ bản +x : x4194304 tấn công cơ bản +x : x16777216 phòng thủ cơ bản +x: x268435456 ngoại thủ cơ bản +x : x1073741824 nội thủ cơ bản +x : x2147483648 p12 :chưa biết p13 :chưa biết p14 :chưa biết p15 :chưa biết p16 :chưa biết p17 :chưa biết creator : người làm ra - tên nhân vật isvalid : hợp lệ dbversion : chưa biết fixattr : chưa biết var : chưa biết visualid : chưa biết maxgemid : chưa biết Ghi chú thêm: Ở table này có 2 cột quan trọng chứa nhiều thông tin là p10, và p11. Cách chỉnh này khá phức tạp khó khăn và mệt nhọc ^^. Ở trên mình chỉ giải thích cách TLBB (client/server) đọc dữ liệu từ db thôi. Chứ chả ai mà rãnh để chỉnh trong db cả ^^ Để chỉnh sửa các thứ trên thì các bạn chỉ cần chỉnh 2 file EquipBase.txt, ItemSegValue.txt Có thể chỉ cần chỉnh ở server thôi để lấy tính năng. Muốn hiển thị chính xác thì chỉnh các file trên ở client luôn. Chú thích thông tin table : t_pet Table chứa hầu hết thông tin PET của nhân vật : các chỉ số, độ phát triển, skill pet, ngộ tính.... aid : số thứ tự charguid : ID nhân vật sở hữu hpetguid : ID nhânt vật sở hữu pet đầu tiên lpetguid : ID PET dạng thập lục phân dataxid : ID pet - có qui định trong PetAttrTable.txt petname : tên PET petnick : không có level : cấp độ needlevel : cấp độ cần thiết atttype : loại pet aitype : loại skill pet camp : chưa biết hp : máu mp : khí life : tho mệnh pettype : kiểu pet genera : chưa biết enjoy : mức khoái lạc strper : tư chất cường lực conper : tư chất thể lực dexper : tư chất thân pháp sprper : tư chất trí lực iprper : tư chất nội công gengu : căn cốt growrate : độ phát triển repoint : điểm cộng exp : điểm kinh nghiệm str : cường lực con : thể lực dex : thân pháp spr : trí lực ipr : nội công skill : thông tin các skill dbversion : chưa biết flags :chưa biết isvalid : hợp lệ pwflag : chưa biết pclvl :chưa biết hspetguid :chưa biết lspetguid :chưa biết savvy : ngộ tính title : thông tin danh hiệu curtitle : mã danh hiệu hiện tại us_unlock_time : giờ mở khoá us_reserve : chưa biết Cách ép skill PET theo ý muốn (6 skill) Nguyên văn bởi caubepheco Mình mới phát hiện ra cách ép skill cho thú theo ý muốn. Nhưng hình như chỉ giới hạn trong 6skill muốn ép skill như thế nào cũng được, 6 skill đánh hay hỗ trợ cũng ok hết. Chỉ có điều nó đều chung time phục hồi, đầu tiên dùng Navicat rùi vô talbe t_pet ở phần skill: đoạn mã mặc định khi thú chưa có skill nào là: Code: 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF Code: 00FFFF 00FFFF 00FFFF 00FFFF 00FFFF 00FFFF chia nhỏ ra làm 6 đoạn 00FFFF mỗi đoạn tương ứng với 1 skill ta chỉ việc thay đoạn mã của skill vào và log vô game sẽ thấy như ý muốn. Bên dưới là 1 số skill điển hình để mình giải thích cho các bạn hiểu: 00EB02 <--- gầm thét 00BE02 <--- hàn băng chú 00BF02 <--- liệt hỏa 00C002 <--- huyết độc 00C102 <--- huyền lôi 00A002 <--- cực băng ngưng sát 009302 <--- bính mệnh 009402 <--- pháp hồn 008C02 <--- băng tinh 008E02 <--- độc cổ 008D02 <--- hỏa linh 00AB02 <--- tịnh hóa 00D702 <--- liên kích 00D902 <--- thống kích .... Khi đã có mã skill ta coppy và paste vào như sau: ở đây mình ví dụ cho các bạn hiểu: Code: 00A00200C10200C00200BF0200BE0200D902 Phân cách ra cho dễ nhìn sẽ như sau: Code: 00A002 00C102 00C002 00BF02 00BE02 00D902 skill đầu tiên là cực băng ngưng sát đánh lan, 2 là huyền lôi, 3 là huyết độc, 4 là liệt hỏa, 5 là hàn băng chú, 6 là thống kích. coppy nguyên đoạn mã trên vô table skill của t_pet save lại và vô game sẽ thấy đúng theo thứ tự sắp xếp. Còn các bạn muốn các skill khác chỉ việc kiếm con thú nào không có skill ép skill cần lấy mã. rồi out vô table skill của t_pet tìm đoạn mã nào 6 số khác với mã 00FFFF và paste vào con thú của mình vậy là các bạn đã có những skill ngon không phải ngồi ép đi ép lại nữa hi2. Mình tìm trong box chưa thấy bạn nào hướng dẫn cách ép skill nên mạo muội post hướng dẫn, nếu đã có bạn nào post rồi thì bỏ quá cho mình nhé Thân! Giải thích dữ liệu chứa trong cột skill của table t_pet Một số dữ liệu khác trong Thiên Long Bát Bộ cũng dùng dạng dưới đây. Như ở bài trên bạn caubepheco có hướng dẫn các bạn cách ép skll theo ý thích, nhưng muốn ép skill nào thì các bạn phải vào game, ép skill vào một con pet nào đó rồi thoát ra, sau đó mới biết đoạn mã rồi copy để sử dụng. Thực ra đoạn mã đó nằm ở chỗ ta có thể không cần vào game cũng có được. Đó là file SkillTemplate_V1.txt Ở file này, ta quan tâm cột thứ nhất đó là ID skill mà ta cần, cột thứ 4 là tên skill. Ví dụ như skill Bính mệnh có ID (dạng dec) là 659 khi chuyển sang dạng Hex sẽ được thành 293 DEC---->HEX 659----->293 Mỗi skill pet (theo version hiện tại) chiếm 6 bytes dạng 00FFFF (thực ra chỉ sử dụng 4 bytes) Tiếp tục ví dụ ở trên số 293 (hex) sẽ được ghi vào 6 bytes theo dạng từng 2 bytes. Tức là số 93 sẽ được ghi vào trước và số 2 ghi vào ở các bytes kế. Theo ví dụ ta được 00 93 02 Tương tự như trên ta được : 00EB02 <--- gầm thét<-----------747<-----------2EB 00BE02 <--- hàn băng chú<-------702<-----------2BE 00BF02 <--- liệt hỏa chú<---------703<-----------2BF File SkillTemplate_V1.txt các bạn có thể unpack từ client FPT để tìm bản tiếng Việt để search theo tên skill rồi lấy ID. Hướng dẫn chỉnh sửa số point cộng thêm khi nhân vật tăng cấp: Cách này do một bạn đã chỉ cho mình cách đây 1 ngày, nay viết hướng dẫn lại cho các bạn Thực ra, nó đơn giản vô cùng ! Tất cả đều nằm trong file AttrLevelUpTable.txt ở trong Server/Config File đã sửa chú thích lại cho dễ hiểu Link : https://spreadsheets.google.com/ccc?...jclk5aHc&hl=en Giải thích thêm: -Cột 1 : cấp độ -5 cột tiếp theo : tuần tự là các thuộc tính : cường, nội, thể, ...lực của phái Thiếu Lâm -5 cột tiếp theo : tuần tự là các thuộc tính ....phái Minh Giáo .... Cứ thế liên tục cho 9 phái. 5 cột cuối (không có môn phái) Muốn điểm từ level nào lên level nào được cộng bao nhiêu vào cho nhân vật thì thay đổi ở nội dung file này. Đây là cách làm của server Huyết Tử 3 như các bạn đã biết (hoặc có thể chưa biết) Gữi Mod nếu mod thấy bài này có ích thì cài lên chú ý dùm
K bik đáng phục k, nhìn giống bản sao chép của Hữu_Duyên quá. Nếu là của cậu thì còn đáng nể, chứ sao chép là k ham
Bài viết tốt lắm. Bạn có thể hướng dẫn tuỳ chỉnh skill 80 các phái cho chuẩn được không. Cảm ơn đã chia sẽ.
Copy trắng trợn y xì đúc của Hữu Duyên bên clbgamesvn.com ( bây giờ chuyển thành gamezone.vn ) mà dám kêu tự viết. Nói câu đó ra mà không cảm thấy nhục gì à Lần sau nếu có đi copy thì nhớ ghi nguồn và đừng có tự nhận là của mình làm ra.
^ tks bác trên phát, lại vào được clb rồi, trước nó bị down cứ buồn buồn vì ko còn chỗ để cập nhật game off