Instantiate a secondary server TMW & hercules

Content and general development discussion, including quest scripts and server code. TMW Classic is a project comprising the Legacy tmwAthena server & the designated improved engine server based on evolHercules.


Forum rules

This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.

Its current use is for the continued development of the server and game it has always served: TMW Classic.

User avatar
wushin
TMW Adviser
TMW Adviser
Posts: 1759
Joined: 18 Dec 2012, 05:56
Location: RiverBest, Brew City, Merica
Contact:

Instantiate a secondary server TMW & hercules

Post 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
The secret to getting all the important stuff done is doing nothing.
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: Instantiate a secondary server TMW & hercules

Post 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.
User avatar
Meicchi
Novice
Novice
Posts: 63
Joined: 21 Dec 2014, 18:44

Re: Instantiate a secondary server TMW & hercules

Post by Meicchi »

Given hypotesis, arguments, reasons and wereabouts (and all the above, again), I vote +1.
Find me in-game:
  • * Puncake (main) - light path mage, lv 79, she is actually a pumpkin
    * Meicchi (retired?) - slow speed archer, eternal lv 70 and Ginny's bastard twin
    * Fluttersly - rage warrior, lv 58, knows no jokes and has a mane
Brazilian Portuguese translation coordinator - Make part! / Faça parte!
https://www.transifex.com/organization/akaras/dashboard
https://wiki.themanaworld.org/index.php/Pt:Main_Page
Spoiler:
Yes, imma noob.
Cassy's official fan-clubber
User avatar
gumi
TMW Adviser
TMW Adviser
Posts: 797
Joined: 19 May 2014, 18:18

Re: Instantiate a secondary server TMW & hercules

Post by gumi »

You already knew my decision long before you made this post, +1
hercules seems much more stable and easier to maintain
User avatar
Cassy
TMW Adviser
TMW Adviser
Posts: 791
Joined: 09 Mar 2013, 09:39
Location: ♥ Fluffyland ♥
Contact:

Re: Instantiate a secondary server TMW & hercules

Post 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.
Main characters:
Lv.94 - Cassy - speedarcher on dark path, bunny-wannabe, would like to ride on a Mouboo once...
Lv.95 - Biqcassy - mage on light path, addicted to her Fluffy Hat, love-hates Fallens, really misses Confused Tree...
Lv.70 - Simca. - dreams of becoming a speedarcher on light path, still has a lot to learn...

Personal development overview | priorities | wiki to-do | wiki profile incl. other characters

[20:24:59] <Cassy> debug npc in crypts!
[20:25:02] <Cassy> just a joke...
[20:25:08] <wushin> DONT DO THAT
[20:25:10] <o11c> !slap Cassy
User avatar
wushin
TMW Adviser
TMW Adviser
Posts: 1759
Joined: 18 Dec 2012, 05:56
Location: RiverBest, Brew City, Merica
Contact:

Re: Instantiate a secondary server TMW & hercules

Post 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.
The secret to getting all the important stuff done is doing nothing.
User avatar
SudoPlatypus
Novice
Novice
Posts: 220
Joined: 06 Jun 2011, 17:53
Contact:

Re: Instantiate a secondary server TMW & hercules

Post 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: ).
The Mouboo was. The Mouboo is. The Mouboo ever shall be. Drop candies and rejoice.
Most leveled character: Qwerty Dragon is 99
User avatar
wushin
TMW Adviser
TMW Adviser
Posts: 1759
Joined: 18 Dec 2012, 05:56
Location: RiverBest, Brew City, Merica
Contact:

Re: Instantiate a secondary server TMW & hercules

Post 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.
The secret to getting all the important stuff done is doing nothing.
User avatar
Freeyorp101
Archivist Prime
Archivist Prime
Posts: 766
Joined: 04 Nov 2008, 09:17
Location: New Zealand

Re: Instantiate a secondary server TMW & hercules

Post by Freeyorp101 »

At the risk of sounding redundant... why don't we just [merge|use|migrate|etc.] to Evol-Hercules?

---Freeyorp
(09:58:17) < tux9th> Freeyorp: your sig on the forums is kind of outdated
User avatar
gumi
TMW Adviser
TMW Adviser
Posts: 797
Joined: 19 May 2014, 18:18

Re: Instantiate a secondary server TMW & hercules

Post 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
User avatar
AnonDuck
TMW Adviser
TMW Adviser
Posts: 645
Joined: 02 Jan 2009, 04:19
Location: Catland

Re: Instantiate a secondary server TMW & hercules

Post 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.
Head of the TMW Illuminati
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: Instantiate a secondary server TMW & hercules

Post 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.
User avatar
gumi
TMW Adviser
TMW Adviser
Posts: 797
Joined: 19 May 2014, 18:18

Re: Instantiate a secondary server TMW & hercules

Post 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.
4144
Knight
Knight
Posts: 965
Joined: 03 Aug 2009, 11:57

Re: Instantiate a secondary server TMW & hercules

Post 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.
User avatar
wushin
TMW Adviser
TMW Adviser
Posts: 1759
Joined: 18 Dec 2012, 05:56
Location: RiverBest, Brew City, Merica
Contact:

Re: Instantiate a secondary server TMW & hercules

Post 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
The secret to getting all the important stuff done is doing nothing.
Post Reply