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

Questions about low spec servers and alternate mapserver setups #299

Open
insanity54 opened this issue Jan 17, 2023 · 1 comment
Open

Questions about low spec servers and alternate mapserver setups #299

insanity54 opened this issue Jan 17, 2023 · 1 comment
Labels
question Further information is requested

Comments

@insanity54
Copy link

insanity54 commented Jan 17, 2023

I have a low-end box (4 core CPU, 2GB RAM) running a Minetest server with Postgres and lots of mods.

I would love to run mapserver but when I had it installed, the game became unplayable due to constant player timeouts. I think the server doesn't have enough RAM. Even without mapserver, my VPS kills minetest-server 1-2 times a week due to being out of memory.

This brings me to my first question. Is it possible to run mapserver in a distributed fashion, running on a different server and remotely connecting to the minetest db for map updates?

Another curiosity I have is that mapserver must live in the minetest world directory. Why does mapserver need to live in the world directory? Why can't I put it in /usr/local/etc/mapserver?

Thank you for your time and your hard work on this project!

@BuckarooBanzay BuckarooBanzay added the question Further information is requested label Jan 20, 2023
@BuckarooBanzay
Copy link
Member

I would love to run mapserver but when I had it installed, the game became unplayable due to constant player timeouts. I think the server doesn't have enough RAM. Even without mapserver, my VPS kills minetest-server 1-2 times a week due to being out of memory.

You could try to play with the renderingjobs and renderingfetchlimit values: https://github.com/minetest-mapserver/mapserver/blob/master/doc/config.md#renderingjobs

Also tuning mapblockaccessor.maxitems might help for memory issues (https://github.com/minetest-mapserver/mapserver/blob/master/doc/config.md#mapblockaccessormaxitems) this may cause it to consume more cpu though (reduced cache)

This brings me to my first question. Is it possible to run mapserver in a distributed fashion, running on a different server and remotely connecting to the minetest db for map updates?

The mapserver itself isn't built for a distributed world (yet?).
But it should be possible to replicate the map-database to another host and run the mapserver there. Haven't tried it yet but i think litestream would work in case of an sqlite database (https://litestream.io/) and "simple" wal-replication for a postgres db.

Another curiosity I have is that mapserver must live in the minetest world directory. Why does mapserver need to live in the world directory? Why can't I put it in /usr/local/etc/mapserver?

The binary can be anywhere you want, just the current directory has to be the world path: you can cd to your world dir and run the binary with the full path, /usr/local/etc/mapserver in your example.

Thank you for your time and your hard work on this project!

Always happy to help (if i have time:)

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

No branches or pull requests

2 participants