Instadev
MySQL & C++ Developerbanned
LEVEL 2
90 XP
Hey guys. I'm making this thread to elaborate on what a repack really is, what it's useful for, and what you should NOT do when using one (making it public and calling it your own server). I will also include its downsides and alternatives (compiled core).
So, what is a repack?
As you might imagine, a repack is basically a code someone else already compiled on his/her end, combining all the essentials (executables, DLLs, extractions, database) and putting it all into a single, convenient & portable pack that people can easily download and use. Some repacks are out for free for everyone to enjoy, some repacks are available for paying members only, and other repacks are being maintained but most of them are not.
The biggest advantage of a repack is the fact you can use it without downloading all the required backend programs, like CMake, Git, Visual Studio, or even (at times) a MySQL server. You don't need to set anything up. You can download and use it. However, if this is your first time using a repack, there are a few things you need to keep in mind, as a repack does have its limitations.
In short: should you use a repack? No. Go here instead and create your own server from scratch. Why? Let's get started.
What is a repack useful for?
A repack is extremely useful if you wish to:
A repack's biggest downside is the fact you have no access to the core, which is an essential part if you wish to make changes to the structure of your server. The entire logic of "what the data on the database means" is being implemented there, as well as all the support for the custom features a specific repack might hold.
The inability to edit a rank just because you're unable to be a huge deal to some people, who might want 5 VIP ranks instead of 3, or would want the 'owner' rank to be ranked 10 instead of 8. On the other hand, some people might want to reduce the amount of dodge you get per agility point and to do that you will need the core to edit the configurations for that.
If you notice a bug that can only be resolved through the core (since there are some bugs that can be fixed through the database, which as you might imagine - require the core's support for that).
Another great deal is the fact most repacks may answer to one of these conditions:
- Old and contain a lot of known issues, exploits, and bugs
- No core can be accessible as it is long-gone are and is a merely shared release of what was once maintained by someone
- No core access as the repack maker won't give it away for free (continue to read about selling/buying a repack)
- No long-term support
- No bug fixes
- No customizations and/or flexibility
No matter what is it that you do, it all ends up with one key element: to make a fully custom server you need the core. This is why it is important for me to emphasize this: DO NOT USE A REPACK FOR A PUBLIC SERVER AT ANY POINT OF TIME.
Repack vs sourcecore
If you want to make your own private server, it is highly recommended you compile your own server. My personal favorite due to structure & personal habit is TrinityCore, but an amazing and equally deserving alternative is AzerothCore. You can view my video tutorial about how to get started with a TrinityCore server from 0 (on a dedicated development environment, Windows Server VPS) here.
Having access to the core instantly creates more work, but this work actually pays off. You will be able to fix bugs (or hire someone to do so), adjust the core to your liking (or hire someone to do so), implement customizations that are not mere free releases (or hire someone to do so) and you're basically unlimited with what you can do from this point on.
On the other hand, having a repack as a server allows you to use what is given to you, with fewer requirements and less liability, and less critical thinking, but also fewer abilities to do whatever it is you want to stand out.
It is recommended to use a repack if you're starting out. If you're new and want to get a taste of that administrative power and get used to some GM commands (which might have changed over the years, just saying!). Could also be useful if you want access to some database or DBC template you might want to migrate over to your (compiled) server (as long as you have the permission of course).
What if I encounter an issue with the repack?
This is where repack maintenance comes into play. When someone releases a repack, he instantly provides no commitment to maintain it at any point in time. Maintaining meaning: implementing suggestions, fixing bugs, sharing the code or methods to accomplish what the repack currently contains, etc. Please keep that in mind!
When it comes to actual bug fixing, I would suggest getting used to it and finding a way around it by yourself, since the odds of a repack being properly maintained are slim and understandably so. A repack is meant to kickstart you from 0 and to push you towards the self-compiled aspect of owning a private server. Not vice versa.
Either way, assuming the repack is well maintained, possibly the only one capable of helping you is the repack maintainer (or a team of maintainers), who will need to upload a new version for the repack for you to download.
Routine repack updates
Entirely 100% up to the maintainer/releaser. Please note: it is possible for someone to be able to send you a fix for a specific issue through a database query (to which you have access), but I wouldn't count on it too much.
Paying for a repack
Some repacks are require you to pay to get access. Some are hidden behind a paywall and some are straight-up pay-to-get-access, simple as that. For example:
I release a repack that's free for anyone, but it has an internal limit of 1 player per server only, which cannot be overridden at any point. It is meant to be an example of what you can accomplish as a solo player and for you to see if you're willing to pay for the 'unlocked' version.
Another aspect of pay for repack can be: I allow you to have access to THIS VERSION of a repack, but I update it monthly so every month you will need to pay. Obviously attaching a changelog. "Can be discounted if you pay for a year in advance" can also be amongst the marketing words behind that repack.
The final (and my personal favorite) aspect is: pay for core access. You're literally paying to get access to a core (which is being used to generate the repack you are using) plus the repack. Can be great if you want a so-called stable sourcecode, but since TrinityCore AND AzerothCore are here for more than a decade... you do your own thinking. Understandable if you are interested in a non-popular expansion.
So, what is a repack?
As you might imagine, a repack is basically a code someone else already compiled on his/her end, combining all the essentials (executables, DLLs, extractions, database) and putting it all into a single, convenient & portable pack that people can easily download and use. Some repacks are out for free for everyone to enjoy, some repacks are available for paying members only, and other repacks are being maintained but most of them are not.
The biggest advantage of a repack is the fact you can use it without downloading all the required backend programs, like CMake, Git, Visual Studio, or even (at times) a MySQL server. You don't need to set anything up. You can download and use it. However, if this is your first time using a repack, there are a few things you need to keep in mind, as a repack does have its limitations.
In short: should you use a repack? No. Go here instead and create your own server from scratch. Why? Let's get started.
What is a repack useful for?
A repack is extremely useful if you wish to:
- Learn about GM commands
- Learn about the database
- Learn about DBC / MPQ
- Explore options (as in, view what other people have created for possible ideas, and maybe even mimicking)
- Portforwarding setup
- Website migration testing (which is also not the most accurate one due to a pretty consistent structural change of each emulator)
- Tools testing (same here as with a website, a tool can work fine for one repack but fail with another)
- A repack allows for people with little to no experience have the ability to wield the full power of an administrator with very little to no effort
- Most of the time, an account is already set for you
- Customizability is already intact by the repack creator (at times)
- It is populated with content and no matter how custom that is, you are able to use it within the repack
- It's very simple and straightforward. Even if you run into complications, the repack owner often documents how to boot the repack up, making it a no-brainer in some cases
- If you run into any problem, there's a high chance it has already happened to someone before you and there's already an easy fix for it
- You don't mess with any bug fixing or core handling, what you see is what you get
A repack's biggest downside is the fact you have no access to the core, which is an essential part if you wish to make changes to the structure of your server. The entire logic of "what the data on the database means" is being implemented there, as well as all the support for the custom features a specific repack might hold.
The inability to edit a rank just because you're unable to be a huge deal to some people, who might want 5 VIP ranks instead of 3, or would want the 'owner' rank to be ranked 10 instead of 8. On the other hand, some people might want to reduce the amount of dodge you get per agility point and to do that you will need the core to edit the configurations for that.
If you notice a bug that can only be resolved through the core (since there are some bugs that can be fixed through the database, which as you might imagine - require the core's support for that).
Another great deal is the fact most repacks may answer to one of these conditions:
- Old and contain a lot of known issues, exploits, and bugs
- No core can be accessible as it is long-gone are and is a merely shared release of what was once maintained by someone
- No core access as the repack maker won't give it away for free (continue to read about selling/buying a repack)
- No long-term support
- No bug fixes
- No customizations and/or flexibility
No matter what is it that you do, it all ends up with one key element: to make a fully custom server you need the core. This is why it is important for me to emphasize this: DO NOT USE A REPACK FOR A PUBLIC SERVER AT ANY POINT OF TIME.
Repack vs sourcecore
If you want to make your own private server, it is highly recommended you compile your own server. My personal favorite due to structure & personal habit is TrinityCore, but an amazing and equally deserving alternative is AzerothCore. You can view my video tutorial about how to get started with a TrinityCore server from 0 (on a dedicated development environment, Windows Server VPS) here.
Having access to the core instantly creates more work, but this work actually pays off. You will be able to fix bugs (or hire someone to do so), adjust the core to your liking (or hire someone to do so), implement customizations that are not mere free releases (or hire someone to do so) and you're basically unlimited with what you can do from this point on.
On the other hand, having a repack as a server allows you to use what is given to you, with fewer requirements and less liability, and less critical thinking, but also fewer abilities to do whatever it is you want to stand out.
It is recommended to use a repack if you're starting out. If you're new and want to get a taste of that administrative power and get used to some GM commands (which might have changed over the years, just saying!). Could also be useful if you want access to some database or DBC template you might want to migrate over to your (compiled) server (as long as you have the permission of course).
What if I encounter an issue with the repack?
This is where repack maintenance comes into play. When someone releases a repack, he instantly provides no commitment to maintain it at any point in time. Maintaining meaning: implementing suggestions, fixing bugs, sharing the code or methods to accomplish what the repack currently contains, etc. Please keep that in mind!
When it comes to actual bug fixing, I would suggest getting used to it and finding a way around it by yourself, since the odds of a repack being properly maintained are slim and understandably so. A repack is meant to kickstart you from 0 and to push you towards the self-compiled aspect of owning a private server. Not vice versa.
Either way, assuming the repack is well maintained, possibly the only one capable of helping you is the repack maintainer (or a team of maintainers), who will need to upload a new version for the repack for you to download.
Routine repack updates
Entirely 100% up to the maintainer/releaser. Please note: it is possible for someone to be able to send you a fix for a specific issue through a database query (to which you have access), but I wouldn't count on it too much.
Paying for a repack
Some repacks are require you to pay to get access. Some are hidden behind a paywall and some are straight-up pay-to-get-access, simple as that. For example:
I release a repack that's free for anyone, but it has an internal limit of 1 player per server only, which cannot be overridden at any point. It is meant to be an example of what you can accomplish as a solo player and for you to see if you're willing to pay for the 'unlocked' version.
Another aspect of pay for repack can be: I allow you to have access to THIS VERSION of a repack, but I update it monthly so every month you will need to pay. Obviously attaching a changelog. "Can be discounted if you pay for a year in advance" can also be amongst the marketing words behind that repack.
The final (and my personal favorite) aspect is: pay for core access. You're literally paying to get access to a core (which is being used to generate the repack you are using) plus the repack. Can be great if you want a so-called stable sourcecode, but since TrinityCore AND AzerothCore are here for more than a decade... you do your own thinking. Understandable if you are interested in a non-popular expansion.