Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/15/20 in all areas

  1. In this topic I would like to teach you how to install MariaDB instead Oracle MySQL and why. Why prefer MariaDB instead MySQL? MariaDB it's a fork of MySQL and it is compatible with MySQL. Forecasts indicate that the MariaDB fork replace Oracle MySQL Server as rdbms. MariaDB have more features for performance and data integrity. One of this features is Aria storage engine. Aria is the upgrade of old MyISAM storage engine used on our Metin2 Private server. This old storage engine have some bugs and it isn't ACID like InnoDB. An upgrade of InnoDB is the fork XtraDB, used on MariaDB and Percona. So if you don't want/can't convert your metin2 tables from MyISAM to InnoDB or XtraDB (the best choice) you can use the similar storage engine: Aria. How to install MariaDB on FreeBSD. Administrate MariaDB it's like MySQL. The service is mysql-server and the path of MariaDB home directory is /var/db/mysql, like classical Oracle MySQL server. Remove old MySQL server installation. If you have mysql-server installed you need to deinstall it: Make a security's backup of your mysql data directory: cd /var/db && tar -cvJf mysql.tar.xz mysql Make a real backup of your applicative db (metin2, website etc.) with dump. You can use the CLI utility mysqldump or GUI with Navicat (right click on db name->Dump SQL file->Structure and data). Stop Mysql-server with: service mysql-server stop Remove mysql directory: rm -rf /var/db/mysql Find the mysql version: mysql --version Deinstall mysql from ports: cd /usr/ports/databases/mysqlxx-server && make deinstall clean && cd /usr/ports/databases/mysqlxx-client && make deinstall clean Where xx is the version find on previous step. Install MariaDB This thread was written when the lastest version of MariaDB was 10.1 update your ports tree: portsnap fetch update Install MariaDB: cd /usr/ports/databases/mariadb101-server && make install clean if not present, enable mysql service: echo "mysql_enable=YES" >> /etc/rc.conf start mysql server: service mysql-server start Import your application databases (metin2, website etc.) from dump. Do not import from datafile! If you use navicat, remember to create a new connection for MariaDB instead MySQL Convert MyISAM to new storage engine For better performance and security of your data you need to convert all of your table with a new storage engine. You can choose a different storage engine for each table. I suggest you to choose between Aria (new MyISAM) or XtraDB (new InnoDB). Choose Aria to read fastest and low write (example item_proto, mob_proto, shop, shop_item) or FULLTEXT index feature (to search fastest on text culomn). Choose XtraDB to critical table with hight write frequency (example player, item, account). To convert from one storage engine to another you have two ways: Via GUI like Navicat (one table at time). Right click on the table -> Design Table->Options->Engine. Change and save. Via query: ALTER TABLE <table_name> ENGINE=<engine>; This solution don't exclude the necessity of db backups. Please scedule frequently backup of your applicative dbs from dump. See mysqldump utility. For much safety, do also a datafile backup of entire mysql data directory (/var/db/mysql). It's for emergency restore of all mysql if dump import don't work. Use datafile restore only for whole mysql directory and only if there aren't another solution with dump.
    1 point
  2. I don't really see the problem here. So far I use this method only in the aeldra wiki, where I always use a normal base window (which is transparent) as a "peek window", and a second base window (which is also transparent, but contains all the stuff, could be very large). With the first window I can control the size of the visible area, and I put all the stuff onto the second window (so thats the parent window of the real content). Without that obviously you will use the size of the parent window which includes the edges in this case and it will feel like it goes out of the window (but in reality it doesnt).
    1 point
  3. Hey ! Nice, you did well. You seems to have forgotten to store the width of the parent window in the rect you want to render in. Remember, you have to know the coordinate of the parent window so that the rect is well placed on the screen. Is it only the image that is still rendered outside the right or font too ? Is it working on the left side ?
    1 point
  4. As Itachi mentioned, don't hesitate to contact me for further informations about the switchbot to see if it fits your requirements.
    1 point
  5. Hmm.. I will test something in my test server and i come with a solution.
    1 point
  6. Hello Metin2Dev Community, I hope you're all right! It's been about 2 weeks since we took over the forum, which gave us time to familiarize ourselves with the community and the forum. It is now time to announce some of the projects for the forum. First of all, our projects are the following: Backup of all shared files to a Metin2Dev storage server to avoid dead links. Working on a new version of the forum with a new theme to make it more welcoming and "clean". Clean up all sections (useless topics, dead links, etc ...) and improve the forum tree structure if needed. Work on the more community aspect of the forum, for example by highlighting discord more prominently. Work on the forum to make it more easily accessible to new members. And a lot of other projects that we can't wait for you to discover! Don't hesitate to give us feedback if you have any. See you soon! The staff
    1 point
  7. I didn't notice the part with the mouse, but now that you figured it out, good. You may can close now your topic.
    1 point
  8. If you're using Directx9 you can take a look at this post [Hidden Content]. It was useful for me when I did this 'Render'.
    1 point
  9. fast fix with small logic int i_add = (strstr(m_fontName, "Tahoma") == 0) ? 1 : 0; //for more fonts TextOutW(hDC, m_x + i_add, m_y, &keyValue, 1);
    1 point
  10. M2 Download Center Download Here ( Internal ) I do not remember why I did it, but probably for no particular purpose. Maybe it will be useful to someone. Download: [Hidden Content]
    1 point
  11. Oh yeah, ok, I though as the right side of the gif is cut that the image was still rendered outside the right border. Of course, the edge of a board, even if it's transparent will be inside the rect of the board. As Masodikbela said, you should create an empty window at the pos and size you need and use it as a layer to render in !
    0 points
  12. No need to pay for a system.. But thanks for advertising your services in a question thread, that will definitely help users. You have many ways of doing it. Some of these may include using lua to code a quest that does the job for you. You can either trigger it yourself or - if you have some stuff like the vanilla source (even old releases should have this) you can even trigger a server_timer to fire off once the boss should spawn. But this is just more convenient, you can also just login or let the quest trigger once a gm/player logs in for the first time. There are many ways to do this. As soon as you trigger spawn you can just re-use the timer. Next you need to check if the mob already exists (not killed, so we won't spawn to instances of the mob). You can just do it via event flag for example but this is prone to err if your server crashes for some reason. So make sure you clear the event flag at the beginning of the quest so it doesn't get stuck. As soon as a player kills the boss, you can change the flag back and thus making it able to respawn it. It's just one of many approaches to do it. Source work should do the magic too, but most people don't know how to do it so maybe lua is the easierst and safest way to go.
    0 points
  13. Excuse me? You are "waiting to see useful answers"? Who exactly do you think you are? If nobody wants to share it, they are free to do so, nobody here is forced to share anything. And believe me you wouldn't want such a community, because If we actually were a community where everyone is forced to share useful things to be able to register as a member and view its content, then you couldn't be a part of it since you're not contributing anything, thus you would be unable to leech. If you want it, contact someone specifically and pay for it, or learn to do it yourself. That's how a community works. If you don't like it then you can kindly fuck off. We don't need people like you here. Denis is a very valid developer, although in your eye "no answer was useful", he managed to almost replicate it perfectly. "How?" you ask? Because he's a developer and learned to work with the little information he's given, while you don't understand shit about it and want the full system right off the bat. No, kiddo, nobody is going to give you anything for free. Everyone learned through time spent and endless trial-and-error, so pay for your ignorance or start reading a book or two instead of crying and expecting everyone to serve you.
    0 points
  14. I make that 2 new trees: And ingame works like a shit: Don't work for me...
    0 points
×
×
  • 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.