Jump to content
metin2dev

charparodar

Members
  • Content count

    763
  • Joined

  • Last visited

  • Days Won

    3

charparodar last won the day on March 2

charparodar had the most liked content!

Community Reputation

62 Excellent

About charparodar

  • Rank
    Chivalric

Profile Information

  • Gender
    Male
  • Location
    Portugal

Recent Profile Visitors

5,085 profile views
  1. Hello, I've got 2 bugs on my offline shop system (Ken Offline Shop) The first bug is on the offline shop's sign. When I create the offline shop the sign is shown correctly with the name I set, but if I close the client, or another player enters the game, the sign doesn't show. Stays like that. The second bug is when like the first. If I don't have a sign, when I close the shop, I receive the item bug the shop doesn't go away until someone clicks on it, if someone clicks the store instantly disappears. Does anyone know what is the problem? Thank you
  2. charparodar

    Update Your FreeBSD For C++2a

    Why updating is a benefit for the metin2 server? Will improve the perform or there's no noticeable change?
  3. charparodar

    [HARD]WorldOfMetin3 - INTERNATIONAL

    Just a question, wouldn't be easier use the same patcher for every language and have all strings translated to multiple languages and either let the player chose the language or detect the system language. Just and opinion. Good luck with your server
  4. It's not good to use an old internacional server's name, M2M (Metin2Master/Metin2Mester). This is my opinion, good luck with the server
  5. Just disable thr function and it's declarations and change the default variables (set to ymir by default and filled up when the locale is loaded) I just needed to do that, nothing more...
  6. charparodar

    open Find player by character name on server

    The problem is, how do I check if the player is online or not? The functions I know only detect if player is in the same map or not... I'm using this one at the moment: LPCHARACTER pkbanned = CHARACTER_MANAGER::instance().FindPC(username); LPCHARACTER CHARACTER_MANAGER::FindPC(const char * name) { char szName[CHARACTER_NAME_MAX_LEN + 1]; str_lower(name, szName, sizeof(szName)); NAME_MAP::iterator it = m_map_pkPCChr.find(szName); if (it == m_map_pkPCChr.end()) return NULL; // <Factor> Added sanity check LPCHARACTER found = it->second; if (found != NULL && strncasecmp(szName, found->GetName(), CHARACTER_NAME_MAX_LEN) != 0) { sys_err("[CHARACTER_MANAGER::FindPC] <Factor> %s != %s", name, found->GetName()); return NULL; } return found; } If I'm not in Channel 99 (for example, in OX Map) and I send the band to a player on Channel 1 it doesn't find, how can I do that?
  7. Hello, How can I find a player on server having only the character name? I know the CHARACTER_MANAGER::instance().FindPC(), but it only works if the player is online and on the same map that the user that searched it. Is there a way to find in the whole server? And check if is online or offline? The objective is when the player is if the player is online it sends a chat message saying that the account has been banned and disconnects, if is not online, it only bans. Thanks
  8. charparodar

    open Private shop closes client

    Only the client disconnects, I can connect right after, the game doesn't crash...
  9. charparodar

    open Private shop closes client

    I don't have error on client syserr, only on server syserr... And it's always difference depending on what action I do after I open the shop (the shop is never created)
  10. charparodar

    sh MySQL Backup Script + SSH

    Hi there So, I needed a script that was able to transfer my backups through SSH to another UNIX based server (in this case, Ubuntu). Since I already had the server authenticating with key I had to set it up on the script. Prerequisites: mysqldump gzip ssh scp How does it work: -Dumps and compresses the desired mysql databases -Transfers compressed files to remote host -Removes local compressed files Here's the script with as using private key (it needs to be in OpenSSH format, not PuTTY): #!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin # Bins MYSQLDUMP=`which mysqldump` GZIP=`which gzip` SSH=`which ssh` SCP=`which scp` # Date for folders and filenames DAY=$(date +"%Y-%m-%d.%T") FILETIME=$(date +"%Y-%m-%d.%T") # Local backup folder (no trailing slash) LOCAL_FOLDER="/tmp/backups" # FTP Configuration REMOTE_HOST="IP" REMOTE_PORT="PORT" REMOTE_USER="USER" REMOTE_PEM="/PATH/TO/KEY" #With no trailing slash REMOTE_FOLDER="/PATH/TO/DESTINATION/FOLDER/" # With trailing slash # MySQL Configuration MYSQL_USER="USER" # Which databases shall we backup? # Databases should be separated with a space DATABASES="account common log player" # Check if DATABASES var is set... if [ "$DATABASES" == "" ]; then echo -e "\033[31mThere is no databases specified...\033[0m" exit 1 fi # Dump and compress for db in $DATABASES do FILE=$db.$FILETIME.gz echo -e "\033[32mDumping $db!\033[0m" $MYSQLDUMP --set-gtid-purged=OFF -u $MYSQL_USER $db | $GZIP -9 > $LOCAL_FOLDER/$FILE done # Transfer all backup files to remote host echo -e "\033[32m\nTransfering files!\033[0m" # Create the remote folder $SSH -p "${REMOTE_PORT}" -i "${REMOTE_PEM}" "${REMOTE_USER}@${REMOTE_HOST}" "mkdir ${REMOTE_FOLDER}${DAY}" # Transfer the files to the remote folder $SCP -P "${REMOTE_PORT}" -r -i "${REMOTE_PEM}" "${LOCAL_FOLDER}" "${REMOTE_USER}@${REMOTE_HOST}:/${REMOTE_FOLDER}/${DAY}" # Delete local dump files rm -f $LOCAL_FOLDER/* If you don't want to use key just remove: -i "${REMOTE_PEM}" You can add more databases to the backup, just edit the array: DATABASES="account common log player" Don't forget to set the script to UNIX formatted text file. I based my script on MadTiago's one, but his only works for FTP. Hope it's useful for someone
  11. charparodar

    open Private shop closes client

    Hello, Whenever I try to create a private shop (using the 50300, like normal), after I press Okay to create it stops stops everything on client side, if I move the client disconnects, if I write something the client disconnects, if I try to use item the client disconnects, etc Whatever I do after I try to create a shop makes the client disconnect. On syserr (serverside) I get an unknown packet header that's is different depending with whatever I do right after I try to create a private shop. Sometimes it gives me sequence error. This was the last error: SYSERR: Jul 26 20:17:02.588757 :: Process: UNKNOWN HEADER: 248, LAST HEADER: 0(0), REMAIN BYTES: 64, fd: 21 I don't have such header, neither on client nor server Does anybody know how to solve this? Thanks
  12. charparodar

    open shutdown enable gm logged in

    Then what you need is a maintenance system... VegaS has one for sell, I don't think you can find it for free (unbugged on the internet)
  13. charparodar

    open Mount System like horse crashes core

    But if I put everything inside that code I'll get an error that not every code returns a value, right? The function is like this, at the moment: CMountActor* CMountSystem::Mount(DWORD mobVnum) { CMountActor* MountActor = this->GetByVnum(mobVnum); DWORD MountVID = MountActor->Mount(); return MountActor; } CMountActor* CMountSystem::Unmount(DWORD mobVnum) { CMountActor* MountActor = this->GetByVnum(mobVnum); DWORD MountVID = MountActor->Unmount(); return MountActor; } If I put it like this will it do the same? CMountActor* CMountSystem::Mount(DWORD mobVnum) { CMountActor* MountActor = this->GetByVnum(mobVnum); if(MountActor) DWORD MountVID = MountActor->Mount(); return MountActor; } CMountActor* CMountSystem::Unmount(DWORD mobVnum) { CMountActor* MountActor = this->GetByVnum(mobVnum); if(MountActor) DWORD MountVID = MountActor->Unmount(); return MountActor; }
  14. charparodar

    open Mount System like horse crashes core

    Yes, but how can I return a nullpointer when the function has CMountActor* type? I have to return a CMountActor*, but how do I return null?
  15. charparodar

    open Mount System like horse crashes core

    It was getting to a nullpointer because it wasn't detecting other mounts besides the ones being summoned by the Mount System (like horse, to follow you), the function was always returning something else different from 0, so it was always getting inside the if statement, but there was no actor defined by the quest function, so it would crash on null actor...
×