Jump to content

Matteo

Member
  • Posts

    96
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Matteo last won the day on March 6 2020

Matteo had the most liked content!

2 Followers

About Matteo

  • Birthday April 1

Informations

  • Gender
    Male
  • Nationality
    Hungarian

Recent Profile Visitors

1965 profile views

Matteo's Achievements

Rising Star

Rising Star (9/16)

  • Very Important Person Rare
  • Dedicated
  • Reacting Well
  • First Post
  • Collaborator

Recent Badges

46

Reputation

  1. I hope, at least they can learn how a real server is made
  2. You can install it through IPMI/KVM. Drop me a message if you need help.
  3. It won't give you by DHCP, you have to set it up manually i guess.
  4. So you have a Dedicated Server with Windows at Hetzner and you have set up a VBox if i understand correctly. You need to buy IP addresses, you won't get any public IP for free... Its not your home network where you get some local ip (like 192.168.1.23).
  5. Are you sure it's a good idea to host Live Servers in Germany? Also i've been using OVH for some years now, never had outages (Except when the French datacenter caught on fire ) or anything that needs support.
  6. Think about it realistically guys... there is az unknown program which was compiled like 10 minutes ago and its downloading files from an unknown website with Administrator privileges... every patcher will be detected as a virus at some point until you sign it with a Microsoft certificate. However there are smart ways to "wrap" this behaviour but nothing last forever.
  7. Hi, I have a core crash, i dont really understand whats the problem. [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] Corresponding code lines: item.cpp #ifdef ENABLE_EXTENDED_ITEMNAME_ON_GROUND const char* CItem::GetName() { # ifdef ENABLE_MULTI_LANGUAGE_SYSTEM BYTE bLocale = (GetOwner() && GetOwner()->GetDesc()) ? GetOwner()->GetDesc()->GetLanguage() : LOCALE_DEFAULT; # endif static char szItemName[128]; memset(szItemName, 0, sizeof(szItemName)); if (GetProto()) { int len = 0; switch (GetType()) { case ITEM_POLYMORPH: { const DWORD dwMobVnum = GetSocket(0); const CMob* pMob = CMobManager::instance().Get(dwMobVnum); if (pMob) { # ifdef ENABLE_MULTI_LANGUAGE_SYSTEM len = snprintf(szItemName, sizeof(szItemName), "%s", LC_LOCALE_MOB_TEXT(dwMobVnum, bLocale)); # else len = snprintf(szItemName, sizeof(szItemName), "%s", pMob->m_table.szLocaleName); # endif } break; } case ITEM_SKILLBOOK: [Hidden Content] item_manager.cpp if(!item->GetName()) { sys_err("SaveSingleItem: item->GetName NULL"); return; } if (!item->GetOwner()) { DWORD dwID = item->GetID(); DWORD dwOwnerID = item->GetLastOwnerPID(); //sys_log(0, "item->GetOwner NULL - Name: %s dwID: %d dwOwnerID: %d",item->GetName(), dwID, dwOwnerID); db_clientdesc->DBPacketHeader(HEADER_GD_ITEM_DESTROY, 0, sizeof(DWORD) + sizeof(DWORD)); db_clientdesc->Packet(&dwID, sizeof(DWORD)); db_clientdesc->Packet(&dwOwnerID, sizeof(DWORD)); //sys_log(1, "ITEM_DELETE %s:%u", item->GetName(), dwID); return; } //sys_log(1, "ITEM_SAVE %s:%d in %s window %d", item->GetName(), item->GetID(), item->GetOwner()->GetName(), item->GetWindow()); TPlayerItem t; Thanks.
  8. Hi, Once i've seen somewhere a little modification for /warp command so it can be used through channels. For example the GM is on ch1 map1 and easily can warp into some dungeon on ch99 (which by default cannot be done) or GM is on ch1 and want to warp to a player on ch2 but by default it cannot be done. Thank you
  9. Hi, There is a "pickup all" function in my client but it creates a little freeze when picking up items. As i see it iterates and sends a lot of SendItemClickPacket if (CPythonSystem::Instance().GetPickupMode() == CPythonSystem::PICKUP_MODE_ALL) { std::vector<uint32_t> vecCloseItems = rkItem.GetCloseMoneys(kPPosMain, __GetPickableDistance()); for (uint32_t dwItemID : vecCloseItems) { SendClickItemPacket(dwItemID); } } Any ideas to modify it in a way that doesn't create lag? Thanks.
  10. 10Gbit/s OVH Server is the only solution you can get. Otherwise you are easily attackable. Even OVH 1Gbit/s has some exploit and they can make your server offline in seconds. 10Gbit/s is really hard to get DDoS, anyone will need a lot of bandwith to make your server unavailable. For web, PAID Cloudflare (MAYBE!!!). Only if our project is very serious, because 10Gbit is $$$$$$$$$. Otherwise any OVH Dedicated Game Server.
  11. You should fill in all level gold rewards. What it says? nothing? ALUA(pc_reset_level) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); int lvlBeforeReset = ch->GetLevel(); ch->ResetPoint(MINMAX(1, DEATH_INITIAL_LEVEL, PLAYER_MAX_LEVEL_CONST)); ch->ClearSkill(); ch->ClearSubSkill(); LPITEM item; for (int i = 0; i < INVENTORY_AND_EQUIP_SLOT_MAX; ++i) { if ((item = ch->GetInventoryItem(i))) { ITEM_MANAGER::instance().RemoveItem(item, "DEATH_EVENT_BY_QUEST"); ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255); } } int goldByLevel[PLAYER_EXP_TABLE_MAX + 1] = { 0, // PLACEHOLDER 10, // LV 1 20, // LV 2 30, // LV 3 40, // LV 4 50, // LV 5 60, // LV 6 }; ch->PointChange(POINT_GOLD, goldByLevel[lvlBeforeReset]); ch->ChatPacket(CHAT_TYPE_INFO, "<Death Request> Your level was %d, because of that same amount of gold is credited.", lvlBeforeReset); return 0; }
  12. It gives gold. If you reset a lv 120 character you get 120 gold If you reset a lv10 character you get 10 gold Is that you wanted?
  13. Add this to your questlua_pc + add quest_functions according. pc.reset_level (code not tested) { "reset_level", pc_reset_level}, #ifdef DEATH_EVENT #define DEATH_INITIAL_LEVEL 1 // What's the level the player should start? ALUA(pc_reset_level) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); int lvlBeforeReset = ch->GetLevel(); ch->ResetPoint(MINMAX(1, DEATH_INITIAL_LEVEL, PLAYER_MAX_LEVEL_CONST)); ch->ClearSkill(); ch->ClearSubSkill(); LPITEM item; for (int i = 0; i < INVENTORY_AND_EQUIP_SLOT_MAX; ++i) { if ((item = ch->GetInventoryItem(i))) { ITEM_MANAGER::instance().RemoveItem(item, "DEATH_EVENT_BY_QUEST"); ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255); } } ch->PointChange(POINT_GOLD, lvlBeforeReset); ch->ChatPacket(CHAT_TYPE_INFO, "<Death Request> Resetted. Your level was %d, because of that same amount of gold is credited.", lvlBeforeReset); } #endif Then in quest like: quest resetchar begin state start begin when 20094.chat."balbla" begin if pc.get_level() > 1 then pc.reset_level() end end end end
  14. Hi, After a period of time on the server, some players are disconnected by the server randomly. I guess one of the installed systems "overflowing" the buffer(??). If i restart the server, for a given time there is no random disconnects, after it starts again until restart. I have increased the receiving buffer on the binary but that didn't help a lot... is there a way to debug it what keeps growing and growing? Some syserrs from the players: 0109 14:07:39244 :: Unknown packet header: 108, last: 124 70 0107 16:53:06382 :: Unknown packet header: 231, last: 238 217 1228 20:00:42501 :: Unknown packet header: 183, last: 163 163 1228 17:17:43336 :: Unknown packet header: 197, last: 236 117 1230 20:55:27097 :: Unknown packet header: 35, last: 3 79 1230 18:31:27797 :: Unknown packet header: 201, last: 3 3 0105 22:17:33005 :: Unknown packet header: 178, last: 17 253 0105 22:18:25466 :: Unknown packet header: 202, last: 3 3 So its not stuck/broken at the same packet, very random. Any ideas to debug it?
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.