Page 1 of 2

Instantiate a secondary server TMW & hercules

Posted: 06 Feb 2015, 21:46
by wushin
TMWA & Evol-Hercules can use the same client-data so that repo is non-issue except the tools symlink (which I think can be easily dealt with) as they both use manaplus for the client.

Server-data maintenance for the 2 servers:
  • Changes in script currently small enough to able to use scripts to convert
  • Servers use completely different directory structures allowing nesting or running both servers/data from the same dirs.
  • Close enough fork where A LOT of data can be reused.
Why a second server?
  • Script reuse among forks
  • Variation for people who want it
  • Wushin can stopped being asked why we don't [merge|use|migrate|etc.] to Evol-Hercules
  • More and Different features
  • Tied closer to the official client
  • Competition breeds quality
Thoughts or Input?

Please keep it to listing PROs and CONs to adding and supporting a secondary server.

No cross project trash talk. Both projects are Open Source.

Invoking "Fork" nullifies all arguments as Evol, Manaserver and TMWA are all forks of what Hercules is forked from and all responsible for what we have today. So no option is better or worse in that manner.

No this isn't a fork, it's a self-fork reconciliation. (NOTE: manaserv is welcome to help support of TMW manaserv as well) ((4144 totally helped with the conversion already))

For teh brave

Evol-Hercules Server
server/client tools
Partially converted server data with the current TMWA data as well

Re: Instantiate a secondary server TMW & hercules

Posted: 06 Feb 2015, 22:34
by 4144
If it will be accepted, i will install/maintain new server.

It using mysql/mariadb, and this allow many different admin features.
Server code if compare to old tmwa it better organazed, many huge functions split to many small simple functions.
I not have real stats, but for some people hercules works fine near 1000 online people, probably bit less.
A bit about security. it have all known tmwa bugs fixed. In tmwa sadly still not all.

It using by default other ports than tmwa, here will be no issues.

More about server it have much more features if compare to tmwa. historically from tmwa features was only removed. But into eathena and it forks new features only added. And now hercules most advanced alive eathena fork.
Can be compiles in windows and linux for 32 and 64 bit versions.
Exists different php web panels for server.

Only some of features what i remember:
quest log
real guilds support
mercenaries (mob/bot without ai. client fully control it) it can be render from npc.
homunculuses (same like mercenary but permanent)
server side pets (pets can not many, but it real pet, not like emulation in manaplus for tmwa)
different types of shops.
shops with limited number of items
shops what can use not money but anything else controlled by script
cart. it work like second inventory. can be used for personal shops.
personal shops for sell and buy items. now manaplus support sell shops and soon will support buy shops.
Different skills.
Skills can be used like some ability switch. like skill "cart" allow use cart
Skills can work like attacks, protection or magic actions.
They may work to self, to target or to ground.
Some skill level can automatically add another skill.
Item levels
Item cards. it works like gems. Into item can be inserted another item. (manaplus now not support it, but it will)
Items can probably break after some time. Not tested how exactly this work.
Chat channels. normal channels and special channels for active map, channel for connecting to irc
Support races. Each race may have own look and have difference in stats.

Server also support plugins. And i already developing one pluign for evol, it can be used for the mana world too.
It restore some missing features and add custom features what was added to evol server.

Some intresting evol features what working in hercules (not all):
Translation system. Npc names, npc texts can be translated. If use also translation in client side, it mean all can be translated.
In client new account registartion with email.
Many item slots. If i not wrong 20 or may be more.
Map masks. It allow change whole map looks by server scripts. (show/hide any layers)
Bit security between inter server interaction. Protect from server passwords brutforcing.
Allow give items to npc. Drag like in inventory.
Send full moving path to clients. This fixing mob staucking or random visual teleporting.

Disadvantages:
need one of new manaplus versions for connect to this server.
no magic, but can be used many predefined skills.
by default different stats than tmwa for levels, hp, each level stats and other.
no online list. But i think i will add to plugin similar online list like in evol.

Re: Instantiate a secondary server TMW & hercules

Posted: 07 Feb 2015, 00:32
by Meicchi
Given hypotesis, arguments, reasons and wereabouts (and all the above, again), I vote +1.

Re: Instantiate a secondary server TMW & hercules

Posted: 07 Feb 2015, 13:53
by gumi
You already knew my decision long before you made this post, +1
hercules seems much more stable and easier to maintain

Re: Instantiate a secondary server TMW & hercules

Posted: 08 Feb 2015, 20:13
by Cassy
Well I don't have enough insight into this at all so I can only make my opinion based from what I was told.
If hercules is really such a big, no a *huge*, step forwards then of course I would support this ;)

There are three things I want so bad in TMW since they are absolute standard for RPGs:
  • Status effects
  • Elements
  • Mob AI
And if I understood correctly those three are very possible with hercules.

Re: Instantiate a secondary server TMW & hercules

Posted: 08 Feb 2015, 22:44
by wushin
Well since the majority of the active developers are +1 this, IMO, we can attempt to evaluate TMW-herc for server purposes.

Maybe after using it a bit we might find we Love or Hate it, but since some needs we expressed could be fulfilled investigation and testing ought to be done to form a more concise opinion from the entire staff and player base.

We can work on some instructions and a repo we can all start to play on. Currently what my twm-herc is rebase but missing recent conversions and some bugs still exist. It can be found on my first post. Otherwise I believe I will continue to work on the conversion for testing.

Re: Instantiate a secondary server TMW & hercules

Posted: 09 Feb 2015, 02:32
by SudoPlatypus
+1
From reading what was said so far above, this is a very exiting and positive plan.

Wushin said: "Variation for people who want it."
Question: Would our accounts (alts with levels and items), be cloned or would we be starting fresh, making new accounts?

Starting fresh with new accounts on a new server, with more varied features, appeals to me. I'm a player http://www.pbase.com/christophergoodwin/gph (that was on Platinum, please no buyer requests)

Also, in this second alternate world, if all accounts there would have to be brand spanking new, then unobtainable items on the current server, would have to be eventually released there to get in game, which would be a plus.

Also we get real pets!

And "compiles in windows and linux" means it will attract more developers (The eyes on my Ubuntu-MATE desktop just turned Horrid :alt-2: ).

Re: Instantiate a secondary server TMW & hercules

Posted: 09 Feb 2015, 02:45
by wushin
Ideally if it all works a direct 1 to 1 transfer would be optimum and what we are shooting for. Anything short of that would go into the evaluation. We do have high hopes as 4144 has been incredibly helpful with this so far.

For one accounts are looking the trickiest part. Because earlier versions of TMW had allowed no email address to sign up for an account some accounts are missing that. This becomes a problem because we cannot transfer passwords over and would have to reset all the passwords. Since we rely on emails addresses to match accounts for resets you can see the problem. Granted we might just have to ask more people to change it in-game. How-to update/set email address

We really can't look to see what can and can't be transferred until we start the process.

Re: Instantiate a secondary server TMW & hercules

Posted: 11 Feb 2015, 01:46
by Freeyorp101
At the risk of sounding redundant... why don't we just [merge|use|migrate|etc.] to Evol-Hercules?

---Freeyorp

Re: Instantiate a secondary server TMW & hercules

Posted: 11 Feb 2015, 02:24
by gumi
That's the plan, we want to slowly move to evol-hercules instead of tmwa but first we need to finish coding the "evol" extension for hercules, to convert some scripts, to make a new magic engine, to fix bugs and to do lots of testing

Re: Instantiate a secondary server TMW & hercules

Posted: 11 Feb 2015, 05:20
by AnonDuck
Don't worry about the password issue. What we'll do is write a plugin to support authing TMW passwords then require an immideate password change -> new format passwords(bcrypt plz). They can even use the same password..

At a glance I don't see herc doing hashing at all (as it has to support RO's retarded md5 auth scheme). That doesn't really satisfy me so I'm going to muck about with the auth anyhow.. Might as well add migration support. We could probably even add a simplistic hmac type doohickey to the client so passwords are not sent in the clear anymore.

Re: Instantiate a secondary server TMW & hercules

Posted: 11 Feb 2015, 07:57
by 4144
MadCamel wrote:Don't worry about the password issue. What we'll do is write a plugin to support authing TMW passwords then require an immideate password change -> new format passwords(bcrypt plz). They can even use the same password..

At a glance I don't see herc doing hashing at all (as it has to support RO's retarded md5 auth scheme). That doesn't really satisfy me so I'm going to muck about with the auth anyhow.. Might as well add migration support. We could probably even add a simplistic hmac type doohickey to the client so passwords are not sent in the clear anymore.
Yes now passwords stored as plain text, atleast in evol plugin.
I thinked about hashed passwords with salt, but not sure how impliment it.

Re: Instantiate a secondary server TMW & hercules

Posted: 11 Feb 2015, 12:03
by gumi
ewwwwwww plaintext passwords are bad
I don't want anything to do with evol-herc if it doesn't at least implement sha1. IMO it should use keccak-512 and PBKDF2 or something similar.

Re: Instantiate a secondary server TMW & hercules

Posted: 12 Feb 2015, 18:13
by 4144
meko wrote:ewwwwwww plaintext passwords are bad
I don't want anything to do with evol-herc if it doesn't at least implement sha1. IMO it should use keccak-512 and PBKDF2 or something similar.
Plain text is good, because it can be changed transparently to some strong hashing with salt. If from start use dumb hashing, need reset all passwords if need change method for storing passwords or support at same time old and new hashing. with plain text it simply can be rehashed.

Re: Instantiate a secondary server TMW & hercules

Posted: 12 Feb 2015, 18:30
by wushin
The majority of the staff appears to agree with this enough to adopt a formal process to proceeding. We won't get any further at this point without being able to Test and List issues.

Step 1) Set-up test environment

Step 2) Make list of Bugs/Security issues

Step 3) Come up with migration/deprecation plan if we decide to proceed

Step 4) Fix Bugs/Security issues

Step 5) Migrate/Deprecate & document