MrNaikito / towny

Automatically exported from code.google.com/p/towny
0 stars 1 forks source link

War issues and tests we did #583

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I know war stuff isn't "finished" but I figured I'd report some tests we did 
with wars to help out.

What steps will reproduce the problem?
1. Enable war
2. Place flag in another nation lot
3. Game does nothing...? 

At this point I'd think that when you place a flag in another town plot it 
should assume that you want to make enemies with this nation. Maybe an 
automated process so we don't have to /town set enemy <nation>.

Continues...

4. decalred that nation as enemy
5. Placed flag
6. Warzone formed
7. Enemy killed me inside the warzone block (the king of their enemy)

What is the expected output? What do you see instead?

After several hours of having the war enabled, i couldn't replace a flag. It 
would let me if I redeclared the enemy nation. I have the permission set to 
false for "end war on monarcy death" or something like that...so i'd expect it 
to continue the war even if I (the king) is killed by my enemy...

Issue 2:

During the time we had the war online, it would randomly (seemingly) show the 
"war begins in X seconds" message. Sometimes it would be "War begins in 3 
seconds" and not 30 seconds. Sometimes it would only be 12 or so seconds or 1 
second...?? We were not restarting or stopping war. During this time period.

Issue 3:

What steps will reproduce the problem?
1. Enable war
2. Declare nation my enemy
3. Enemy nation declares me ally

What is the expected output? What do you see instead?
The expected output should be "denied" however, the enemy can declare me their 
ally and it stops me from being able to attack them. If i try to declare them 
my enemy again it doesn't work. I'd expect the nation that declares an enemy to 
be the only one who could "undo that" unless the enemy wipes out that enemy. 
Basically if I declare war, the only end point would be the enemy claims / 
destroys my nation's home block or I stop the war by declaring them as neutral 
or ally. Also there should be a timer limit of something like 5 minutes where I 
can't undo a war declaration against another enemy except once a time period is 
over. This will give the enemy a fighting chance to get even with me if I 
declare them enemy then quickly decide to change my mind and declare them an 
enemy. Might also consider being an in-game day period or even 24 real hours. 
This would prevent someone from making war lightly against someone. Each time I 
log in it would show the timer left after the war would be over. 

What is your towny build?
0.77.?? (whatever the official release version is at the time of this post, we 
have not done any updates. we're using towny advanced 0.77)

What is your bukkit build?
1.0.1

What operating system?
windows business server 2011

Some war suggestions:
When a nation is declared an enemy, those nation town areas should be flagged 
player vs player to those nations. They still cannot "build/destroy/use/switch" 
unless they claim the lot thru a warzone claim attack but they can attack enemy 
players within the lots. This would be a possibility for a "mutual" combat 
agreement. They can't grief their lots but it would allow the enemies to combat 
one another inside the enemy town limits. It would also force players to build 
defense systems (walls, traps, etc) to kill those players off or defend their 
town from the attackers. Right now, there's no reason to put a defense up, all 
they have to do is destroy the flag over and over rapidly because they can only 
attack the enemy if they place the flag down, then it's "who can kill the flag 
faster?" I'd like to be able to kill off defenders of the city, then place the 
flag and make them actually attack that block that I'm holding.

When a town block becomes "claimed" by an enemy nation, the enemy nation should 
have some kind of "claimed" tax where per lot they capture from an enemy they 
should have to pay a tax per town block claimed (set by the config.yml file). 
They could also /t unclaim the lot to destroy the lot or make it "wild". 

Make nations able to declare war on a single town (one that isn't part of a 
nation) if they pay their neutrality fee then that nation receives the payment 
as a tribute payment.

Original issue reported on code.google.com by GokouZ...@gmail.com on 3 Jan 2012 at 8:51

GoogleCodeExporter commented 9 years ago
Correction to this statement: This will give the enemy a fighting chance to get 
even with me if I declare them enemy then quickly decide to change my mind and 
declare them an ALLY.

Original comment by GokouZ...@gmail.com on 3 Jan 2012 at 8:55

GoogleCodeExporter commented 9 years ago
There are two war modes. One is an event that you toggle ingame. That one is 
where you have every single town in every single nation added (that's not 
neutral) where there are multiple goals.

War (Event) end when there remains only one nation in existance (in other 
words, everything else but that nation is deleted). This is done by killing 
monarchs, claiming non-allied (note that it isn't specifically 'enemy') land, 
and bankrupting towns. Nations are deleted when there remains no more towns. 
Eventually reaching the end condition. Note, unless you want chaos and to 
delete everything on your server, this mode is reaaaaally terrible.

The other mode is a constant that you have to change in the config (no ingame 
toggle command) (war.event.allow_attacks). This mode uses the flags.

- The countdown to the war event is fucked over. Mainly because the countdown 
is relative to gameticks instead of time.

@Suggestions:
- Being attacked makes the attacker your enemy. Basically wars must be 
initiated by either your king/assistant or by the enemy. The option to automate 
the process would then allow the nation to be compromised by any idiot, this 
suggestion would required the nation to have another toggleable variable to 
prevent this feature.

- The claimed tax was in mind when I was doing the eco part of it.

Original comment by zrenf...@gmail.com on 4 Jan 2012 at 1:21

GoogleCodeExporter commented 9 years ago
Allow me to share some insight on how I think you can help yourself in 
resolving these issues. Ultimately this is your mod so I'm not going to say you 
have to do this, but these are some points I've noticed here that will kill you 
in the end:

1) Minecraft is a sandbox game. Embrace that fact and don't set limits to when 
war is over or not over. The players should be able to decide when it starts 
and when its over. Minecraft's limits are as far as the player can imagine, to 
make your mod successful, your mod needs to follow those sandbox guidelines as 
well or you'll limit yourself and your mod. Ultimately that's up to you, but 
the mod should modify the base game, not change the base game into something 
else entirely. If you're trying to setup a new game mode, then great that's 
what you're doing with war by saying "war is over when only one nation stands". 
Ultimately that's what would end up happening, but it may or may not be how the 
players want it. Nation A wants to go to war against nation B, but nation C 
says he supports nation B and attacks Nation A with Nation C. Nation C and B 
destroy nation A, and "war is over" because those two nations can agree to live 
together peacefully. You should want your mod to be able to handle that 
situation and allow it. It'll increase it's value to administrators who want to 
live with a "mini-war" situation. 

2) Your mod should be about policing permissions between player A and player 
B's LAND. Nothing else. Nation A, Town B, or alliance C are merely methods of 
declaring to other players that "we are a team". The formation of that official 
team costs money, so players don't HAVE to do it, they can declare it without 
having to form a nation if they want. The benefit of forming a nation says 
"we're bigger than you, don't mess with us," and "we all agree to play together 
nicely under this flag." If a single player doesn't like what a nation is 
doing, their choice is to stay or leave that town/nation and form their own (if 
they can afford to do so). There's no other reason for an alliance to form. An 
alliance is just that, a group of players who believe the same ideals. You 
shouldn't force them into a nation in order to go to war against each other. 
Let players decide to go to war against other players if they choose to do so. 
Keep your mod lightweight and out of their disputes. 

3) Those that wish to form a town and run it can do so if they can afford it 
according to how the server admins set it, however when they do, if player A 
decides he wants Player B's land he should be able to go to "war" against him 
to forcibly take it from him by placing a flag on his lot to claim that part of 
the world for himself. If the admin of the server forces player A and Player B 
to live in peace by saying "Once player A declares land is theirs, the only way 
it goes away is if they go broke, or they unclaim the land. There will be no 
Wars here." then they should be able to do that. Again, keep the limitations 
light. Let players decide what is theirs and what isn't. If a player is a part 
of a town, then that town is being attacked when a player places that flag on 
their lot. That nation or town should consider the apposing nation or town as 
the ones who are attacking. Then they open diplomatic negotiations to say "Do 
something about your player attacking us, or we will." Thus allowing nation / 
town A to attack player B directly themselves. Nation / town B says, "If you 
enter our land we will attack you." so be it...or they can also say "Do with 
him what you will, we won't stop you." Either way, it should be up to the 
players how it plays out. Your mod only polices the permissions of that land. 

Setting limits or "end conditions" to your wars forces the hand of the player 
which isn't wise in a sandbox game. If you want this thing to be successful 
then you need to embrace the sandbox method and allow the players freedom to 
choose how their world is formed and allow them to transform the world into 
something they want either by force, or by economic victory, or by any victory 
they choose. If someone rage quits, that's a victory too because they surrender 
their land to someone else's ideals because they no longer stake that claim. 
Which in a sense is "killing" a player. Since a player cannot be "killed" in 
minecraft, having an end condition that says "war is over when a monarch dies" 
is pretty crazy because no one can die officially. So what you're trying to do 
is change the base game mechanic and that's not a good idea. You'll limit 
yourself and your player base. They're not dead until they decide not to return 
to the server. Then they're dead in the sense that minecraft allows.

The war, or the lack of war, should be between player A and player B. If player 
A wants to form a town of people who want to live with him, then great. The 
admin can choose to say "if you want to form a town then you need X money to do 
so and we'll allow you to claim X plots of land for X dollars as long as you 
can continue to pay X amount each X cycle." That's the freedom players are 
going to want from your mod. Then your mod polices the fact that when player B 
enters Player A's land, it won't allow him to build, open doors, and steal from 
player A on his land. 

Now if the admin says "War is allowed" then if player A wants to take player 
B's land, then player A places a flag on that players lot and says "This is 
mine! Stop me from taking it." and they fight over the land. Again, the key 
here is the land. Now what a town formation does is says that when player A 
comes to player B's land and tries to take it, Town A says "We will defend his 
land together as a team because Player B pays us taxes to us." If they don't 
want to defend his land, then that should tell player B he joined the wrong 
town. He can then choose to say "i'm not paying taxes to you anymore, thus 
removing the town's rights to that peice of land, but then it also forces that 
player's land to become wild land and then loses the protection of it. He then 
has to move his plot 5 town blocks away and then he can form his own town and 
pay the server the fees associated with the maintance of having that protection 
of his land. Ultimately though, if player A wants to be a dick to player B, 
that forces the hand of Player A's nation/town no matter what. The nation/town 
deals with that guy by removing him from under their flag and taking back his 
land or destroying what he's done. 

For example: My town allows all residents the ability to build in the town. We 
all agree that we formed the town in the fact that everyone can do anything in 
the "public" areas of the town. If someone wants to do anything, they claim a 
lot, pay taxes to the city to allow them the freedom to make whatever they 
want. Well one guy started doing stuff we didn't like in the public areas and 
extended his "freedom" of his lot beyond the limits of what we sold him. So we 
asked him to take it down and he wouldn't, so we removed it ourselves from the 
public area. Shortly thereafter he goes and puts it back up. So what do we do? 
We exile him from our town and say "Go build your own town because your ideals 
don't match ours." That's how a nation deals with people who want to be a dick 
to other players or even dicks within their town to other residents. A 
town/nation either supports that player in what they do and force a war on 
themselves because he went and tried to claim land that wasn't part of the 
nation or they don't support him and kick him out. That player takes the risk 
that he'll be kicked out if he goes and does something they won't support. 

My world - I want to make it so everyone can decide to live in peace with each 
other or they can choose to wage war over land. Your mod may or may not fit 
that ideal to me. I like how your mod moderates the purchase of land and how it 
allows players to claim land, but I don't like the limits set on the players. 
When one nation declares another an enemy, the enemy should not be able to say 
"you're my friend" and force it upon them. So when one player places a flag on 
another person's lot, it should be between person A and person B ultimately. 
And how town/nation A responds to one of their citizens being attacked should 
be up to them. They can declare that nation/town their enemy and force the two 
into PvP within their town limits thus giving permission to the people to 
attack one another if seen within their town limits, or give them the ability 
to exile player A and player B from their towns and force them to settle their 
differences outside their nation/towns.

The point here is, don't set limits on how your mod works. Giving rules to how 
players give permissions to their claimed land is exactly what you're doing. 
But when you say "war = X" then you limit yourself. Put too many limits on it, 
and they'll use a different mod, which is fine if you're going for a specific 
nitch of players. From what I can tell though, I don't think that's your intent 
here. My ultimate suggestion is that you need to make it so the mod does a 
specific task. That task should be - Bring order to the chaos that would be a 
normal minecraft server and police the give or take permissions of land from 
one person and give it to another either forcibly or peacefully depending on 
how the administrator of the server wants to run their world.

Original comment by GokouZ...@gmail.com on 4 Jan 2012 at 1:42

GoogleCodeExporter commented 9 years ago
None of this was really any good, since he was using release to test and not 
the dev, which has the fixes for war.

Original comment by Hurfapotamus@gmail.com on 4 Jan 2012 at 5:11

GoogleCodeExporter commented 9 years ago
yep, i'm using the non-dev release. I'll be upgrading to 1.32 either tonight or 
this friday for weekend testing.

Original comment by GokouZ...@gmail.com on 4 Jan 2012 at 6:55

GoogleCodeExporter commented 9 years ago
2) Right, because people would totally let their permissions down mutually. 
They could just join an opposing alliance. Yes, I do admit that Nations are big 
pain in the butt.
3) A nation can be neutral (aka not able to attack of be attacked).
3 P2) They, are, options.

Ideas spawned from the conversation:
- war.enemy.must_have_min_range_of_control: true
- war.enemy.min_range_of_control_hor: 16
- war.enemy.min_range_of_control_vert: 6
- With the options above, the flag-breaker must kill all non-allied players in 
that radius from the flag. Now the question remain... relative to the breaker?
Normal: kill all enemies/neutrals...
Nevermind, kill all enemies.
Normal: kill all enemies.
Backstabber (Spy): Kill all of the defeneders (stab). Not the best.
Kill all enemies relative to the flagbearer.

Original comment by zrenf...@gmail.com on 4 Jan 2012 at 7:26

GoogleCodeExporter commented 9 years ago
Again, I'm not really too sure about any of this because I don't have the 
latest release of the war stuff. I'm still using your 77.1.0 release. I've been 
told the 77.1.32 has a lot of this stuff fixed and worked out so I'm going to 
load that up and we'll do another test this weekend to see.

To me, you're over thinking it. Let the player place the flag no matter what. 
When the flag is placed, that player is staking a claim on that plot only. He's 
saying "I'm requesting permissions be given to me for this plot." The server is 
saying to whoever owns that lot "I'm going to give this person permissions to 
do stuff on your lot if you don't do something about it right now." Nothing 
else should matter to the mod. How many people online helps the defenders out 
so yeah leave that in, but outside that...who cares? If the owner of the plot 
doesn't come and make his claim on that lot, the attacker should be given 
rights to it because the owner doesn't care anymore. 

Nations themselves aren't the pain, it's the fact that you guys are trying to 
make them into something they won't be naturally. A nation is more or less an 
allegiance ON PAPER between two or more towns. The wars should be between towns 
and then nations are merely a flag to fight under as a team. It allows players 
to /nc to coordinate an attack on a mutual enemy, but outside that the nation 
is nothing on it's own. Without towns, a nation is nothing. By forcing you to 
be in a nation in order to attack makes no sense because it's not one nation vs 
another nation, it's literally one mayor vs another mayor, or group of mayors. 
It's even one person vs another when it comes to combat. Larger towns just have 
a bunch of people backing up that mayor, and then nations have a bunch of 
mayors and his residents who are backing up another mayor and his residents. 
Don't try to over think it...it's one vs many, or one vs one or many vs many. 
Who's flag they fly under is unimportant to you (or shouldn't be important) 
because your mod should be doing one thing: Managing the land permissions they 
own. If you focus on that, you'll make a better product and one that's more 
flexible. When two people go to war, you only need to hand off the permissions 
of one plot to the victor. That's all you should be concerned with. Determining 
who won, and who lost is not something you should worry about IMO unless you're 
trying to make a war mod, which you could do as a plugin feature to this one 
expanding it's capabilities if someone wants to have organized PvP with a set 
goal. Think modular when you're writing this code because that will make your 
mod a lot more scalable when it comes to future releases or expansions of it.

Original comment by GokouZ...@gmail.com on 4 Jan 2012 at 8:32

GoogleCodeExporter commented 9 years ago

Original comment by LlmD...@gmail.com on 5 Feb 2012 at 12:18

GoogleCodeExporter commented 9 years ago
Since my problem hasnt been resolved have any of you ever dealt with flags just 
not spawning, is it permissions or is not having the dev a problem

Original comment by 13rmcl...@sacopeevalleyschools.org on 16 Sep 2012 at 4:37

GoogleCodeExporter commented 9 years ago
ticket is too old to be effective, thanks though!

Original comment by LlmD...@gmail.com on 9 Oct 2012 at 5:29