Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow players at join spawns without a spawn point yet generated due exhaustions pregens #16

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mckaygerhard
Copy link
Contributor

In some cases, when pregens cannot gen new spawn points players at joining to the server cannot spawn (cos there's no spawn point yet for it) so canot have a valid vision of the server around.. so canot play, this able to join and play but still not have a valid spawn point.. so use a randomixed around the falback fixed.

  • clarify the spawn_anyheresetting in readme and API definition, as pointed
    at WIP: Fixed exhaustion bug bigservers #15 (comment)
  • when players join and there's no spawns, used a last resource of gen around fixed point:
    if no pregen around newpos, used the already valid random_pos, that is still valid
  • this solves the bug that players cannot do anything at server join, cos pregens is exahusted
  • NOTE spawn point still are not set, but players can spawns until a valid one is set
  • removed rspawn.kick_on_fail or attempts <= 0, just leave rspawn.kick_on_fail:
    i noted never raised that condition.. i set the setting to true but never kicked the player
    i was in suspect that must be rspawn.kick_on_fail and attempts <= 0 cos player will be
    kicked only when there's no more attempts
  • i set fixedpos.y = water_level + rspawn.search_radius as fackback bypass of a valid air node..
    is a ugly hack, but take note that there's no more attempts here so we need to let player to just get in
    if no rspawn.kick_on_fail is desired.. the search radius is not a valid "altitude" but serves
    as falback if user do not defined a valid spawn point and the fixed one is still a solid node (not air)!
    This is a ugly hack of the explanation on WIP: Fixed exhaustion bug bigservers #15 (comment)
    if spawn_anyhere is on false, then using my code will spawn in 0,0,0 or fixed defined in minetest.conf,
    otherwise will spawn anywhere inside limits of rspawn max and min.. so admins must fine tuned that!
  • Fixed closes close exaustion spawn point do not let players to play at join #14

…exhaustion pregens

* clarify the `spawn_anyhere`setting in readme and API definition, as pointed
  at taikedz-mt#15 (comment)
* when players join and there's no spawns, used a last resource of gen around fixed point:
  if no pregen around newpos, used the already valid random_pos, that is still valid
* this solves the bug that players cannot do anything at server join, cos pregens is exahusted
* **NOTE** spawn point still are not set, but players can spawns until a valid one is set
* removed `rspawn.kick_on_fail or attempts <= 0`, just leave `rspawn.kick_on_fail`:
  i noted never raised that condition.. i set the setting to true but never kicked the player
  i was in suspect that must be `rspawn.kick_on_fail and attempts <= 0` cos player will be
  kicked only when there's no more attempts
* i set `fixedpos.y = water_level + rspawn.search_radius` as fackback bypass of a valid air node..
  is a ugly hack, but take note that there's no more attempts here so we need to let player to just get in
  if no `rspawn.kick_on_fail` is desired.. the search radius is not a valid "altitude" but serves
  as falback if user do not defined a valid spawn point and the fixed one is still a solid node (not air)!
  This is a ugly hack of the explanation on taikedz-mt#15 (comment)
  if `spawn_anyhere` is on false, then using my code will spawn in 0,0,0 or fixed defined in minetest.conf,
  otherwise will spawn anywhere inside limits of rspawn max and min.. so admins must fine tuned that!
* Fixed closes close taikedz-mt#14
* `rspawn.spawn_anywhere` - whether to spawn anywhere in the world at sea level
* default `true`
* if `false`, will randomize around the static spawn point
* `rspawn.spawn_anywhere` - whether to spawn anywhere in the world at sea level (limited by the bounds spawn limits, check below)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upss .. miscpelled here but ignore this. i'll fix later.. after you reviewed the hole pull merge request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

exaustion spawn point do not let players to play at join
1 participant