Tùy Chỉnh TLBB Toàn Tập

Thảo luận trong 'Thiên Long Bát Bộ' bắt đầu bởi phikhanhpdct, 18/10/11.

  1. phikhanhpdct

    phikhanhpdct Mr & Ms Pac-Man

    Tham gia ngày:
    13/7/11
    Bài viết:
    162
    Nơi ở:
    Cần Thơ
    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
     
  2. dung.lonely

    dung.lonely Mario & Luigi

    Tham gia ngày:
    5/8/09
    Bài viết:
    886
    ko đủ trình độ và hiểu biết để test nhưng quả là phục bác này. :)
     
  3. zen.dragon

    zen.dragon Mr & Ms Pac-Man

    Tham gia ngày:
    19/6/11
    Bài viết:
    211
    Nơi ở:
    TLBB Private
    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 :|
     
  4. linanvn

    linanvn Youtube Master Race

    Tham gia ngày:
    23/10/11
    Bài viết:
    1
    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ẽ.
     
  5. phikhanhpdct

    phikhanhpdct Mr & Ms Pac-Man

    Tham gia ngày:
    13/7/11
    Bài viết:
    162
    Nơi ở:
    Cần Thơ
    bài này ko phải là sao chép của Hữu Duyên mà tự tay tui viết có gì tk giùm
     
  6. oixinhqua

    oixinhqua Youtube Master Race

    Tham gia ngày:
    4/12/06
    Bài viết:
    12
    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.[-X
     
  7. Nouvou

    Nouvou Dragon Quest

    Tham gia ngày:
    12/4/10
    Bài viết:
    1,302
    Nơi ở:
    Ha Noi, Vietnam,
    ^ 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 :D
     
  8. tlbbvosong

    tlbbvosong Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/11
    Bài viết:
    198
    Nơi ở:
    TLBB Vô Song
    Cái này copy trắng trợn mà còn la làng là của mình :))
     
  9. jxcongthanh

    jxcongthanh Youtube Master Race

    Tham gia ngày:
    30/10/11
    Bài viết:
    41
    Cái này copy trắng trợn mà còn la làng là của mình
     
  10. zen.dragon

    zen.dragon Mr & Ms Pac-Man

    Tham gia ngày:
    19/6/11
    Bài viết:
    211
    Nơi ở:
    TLBB Private
    Chính xác :)) mình ghét mấy thằng ngu mà tỏ ra nguy hiểm lắm
     

Chia sẻ trang này