About
What is lurkers.io?
Iβm making lurkers the game Iβve always wanted to play: lurkers.io is a free multiplayer easily accessible browser game where you can do just about anything. It encourages a healthy and open community of players and creators.
What can you do in lurkers.io?
So far you can:
- Play the official gamemodes such as:
- zombie survival (survive a zombie apocalypse as long as you can.)
- bedwars (destroy the enemy teams bed to win.)
- survival (open world survival free for all game. Form teams with your friends.)
- sandbox (open world sandbox mode, get access to all items and blocks in the game for free.)
- team deathmatch (destroy the enemy team and reach the target number of kills before the enemy.)
- Enjoy community created content, gamemodes and servers.
Influences
The sandbox experience of Minecraft and Terraria. The community ecosystem of Roblox. The 2D charm of King Arthur's Gold. The modding of Garry's Mod. The economy and vastness of Runescape.
The future of lurkers.io
- Cross-platform (browser only for now, premium users can download the desktop client. Later Steam and mobile devices)
- User generated content (custom skins, gamemodes, servers and more)
- Developing new and fun features and gamemodes, including:
- Expanding on the survival experience with forming factions, waging wars, adding biomes and much more.
- Adding a fantasy gamemode where you can play as Humans, Dwarves, Elves and Orcs.
- Torches and shadows / darkness - explore scary dark caves, and light up your base at night.
- Water - oceans, flooding, possibly interaction with fire / lava
- Mechanics and contraptions - levers, circuits, traps, automation
Subject to change at any time, these are just rough plans.
Is the game open-source?
The game is not open-source at the moment. May change at some point later, let me know on Discord if you have strong opinions about this.
Purchases
Purchases can be made in-game to get access to exclusive content.
Content
Available Content
- Bundles
- Premium (one-time purchase, sort of like buying the game, discount for early buyers while game is in alpha)
- Lighting system
- Download the desktop client
- Run your own server
- Skins (customise your character)
- Join full servers
- Remove ads
- Badge / gold nickname color
- Custom emojis
- Discounted!
- Survival: Infinite map size (able to walk outside the starting area)
- Paint brushes and other items!
- Start votekick
- Fullscreen mode
- Premium (one-time purchase, sort of like buying the game, discount for early buyers while game is in alpha)
Planned Content
- Perks (custom game benefits)
- (premium) More new feature votes
- (premium) Better in-game voting rights (can start votes yourself)
- (premium) Access to VIP discord channel
- (premium) Access to VIP servers and gamemodes
- Gamemode / Server Perks:
- Custom community created content!
Completed Purchases
For information regarding completed purchases, see Completed Purchases.
Completed Purchases
If you have just completed a purchase, the item(s) should show up in the game. Please restart the game if they don't show up. If the payment was rejected by the payment provider, the purchase may not have been completed.
Support
Payments are in early development, if you have any problems or questions with a payment, send a message on Discord.
Server List Plugin
We have a Chrome extension that lets you see how many players are online and join servers directly:
Build 208.3
26-11-2024
- Fix item dupe bug by dropping item when reloading player
- Do not show health bars in cinema mode
- Fix duel pyramid map protected area (thanks 0Player)
Build 208.2
21-11-2024
- Fix pumpkin launcher explosive texture
- Disable HTML lighting by default since it's too laggy
Build 208
20-11-2024
- Fix some memory leaks
- Faster light rendering
- Lighting is enabled on HTML client, and can be disabled from settings.
- Adjust night ambience
- More stuff..
- Fix player firing weapon automatically after reload when clicking to fire when clip is empty.
- Fix some issues with bans not working properly
- Fix server muting not working
- Nerf pumpkin launcher
- Fix spikes causing sync issues with player health
- Optimizations to inventory updates
- Optimize player net packets and kill, hurt events (more messages are filtered by chunks so you don't receive network traffic for players not loaded on your client)
- Optimize player inventory UI (it should be faster when you update or toggle inventory)
- Optimize gameplay
- Optimize water rendering a bit
- Chat disabled on Poki due to new requirements
/savemapscreenshot
supports AABB, saving entire map, and lighting (see cheat sheet for examples)- Fix some light propagation issues
- Fix corrupt chunk loading causing server to run out of memory. Corrupt chunks will not be loaded, a new one will be generated instead.
- Fix
/ban
,/kill
not working from server CLI - Enable advanced physics by default on html to improve the gameplay. May cause some lag, but I optimised it a bit.
- Fix
Play
button sometimes opening player settings when clicked - Fix empty ad containers blocking click events
- Fix some issues with players getting kicked for seemingly no reason
- Fix some issues with players not being removed from scoreboard correctly when they disconnect
- Players autoconnect to poki and official servers regardless of where they're playing
- Add new secret weapon... ;)
- Improve the grenade launcher texture
- Fix hammer healing chest with health above max hp clamping hp to max health
- Fix particles disappearing briefly before fading out
- Revert halloween update. Keep pumpkin launcher
- Days last a bit longer. Nights are shorter than days.
- Adjust TDM max win score from 100 to 150
Build 207.4
25-10-2024
- Fix entity owner not reloading correctly (owner of door, turret etc)
- Increase zombie and fast zombie hp a bit
- More commands can be used with
.
instead of/
prefix. (.tp
,.spectate
,.join
etc) - Some more lighting fixes and improvements
- Glowing blocks glow when held
- Make the clouds texture bigger and some other minor graphics changes
- Fish use correct AI (they don't bite anymore)
- Add
peer:isAFK()
Lua API - Add missing API used by
vote.lua
throwing some errors for custom servers - More internal changes
Build 207.3
16-10-2024
- Massively improve latency for server
- Tweaked npc/mob auto spawning logic
- Add teleport commands to premium survival
- Survival zombies have 64 meter view range, instead of infinite
- Animals try to avoid breaking blocks
- Auto spawned npc's spawn at least 28 blocks away, instead of 16
- Nerf animal damage and hp
- Increase the hitboxes/body width for animals
- Fix animals not rendering with correct ambient light color
- Some more network improvements
- Show player UI info in darker areas
- Reduce spider block cost from 20 to 10 coins
Build 207.2
16-10-2024
- Fix lag on desktop client
- Properly remove the Starship bedwars map from map rotation
- Fix animal spawning
- Make biomes a bit smaller
- Nerf pumpkin launcher
- Fix collapses
- Increase ice block health
Build 207
15-10-2024
- New
- Premium servers!
- HALLOWEEN UPDATE! Spiderwebs, pumpkin launcher!
- New sound effects!
- Materials! Blocks and entities have material types which affect sound effects, movement speed, slipperiness etc.
- Premium survival mode!
- Your player is saved when you leave and come back!
- The map is saved between server restarts!
- Animals! Added deer, fox, wolf, boar!
- New terrain generator! Different biomes to be explored, grasslands with overhangs, highlands, deep oceans, shallow oceans, deserts, snowy mountains!
- No item reward ads, just vanilla game experience
- Ice blocks! They're slippery
- Snow blocks! You get stuck in the snow and move more slowly
- Sand blocks! They have gravity!
F3
toggles 3 states; off, on, on+charts (network info)- Render latency chart when enabling debug info (
F3
) - Added company info and logo (Bergice Productions)
- Animated foliage (premium)!
- Torches can be crafted in survival and zombie survival!
- Add splash text to main menu!
- Xsolla payments! You can now purchase premium using either PayPal or Xsolla.
- Improvements / Tweaks
- More zombies in survival mode!
- UI click sound normalised
- Double recurring damage at end of battle royale match (sudden death) to prevent stalemates
- Reduce arrow crafting cost from
2
wood >1
wood. - Better social media buttons
- NPC's fleeing will move in random directions instead of always the same direction
- Torches stick to walls and surfaces
- Torches emit particles
- Healthbar visual improvements
- Reduce daddy zombie damage from
8x
to5x
- Ferns drop vines instead of saplings to give them some purpose
- Water and lava sound effects
- Disable https://iogames.forum due to it no longer being used
- Fix
- Fix some issues with projectile hits not registering properly
- Latency is calculated more accurately and frequently
- Saplings don't grow in the dark
- Fix friends list causing game crash in some cases - and fix the timezone offsets
- Lighting does not turn on for the html client since it's too laggy (use desktop client for this instead)
- Fish do not jump out of water
- Water can no longer be broken and picked up.
- Remove map
Starship_sniiper-Aincrad
- fixed version coming later - Water hides sky behind it
- Fix not able to jump on props
- Fix wiki index showing old wiki page
- Show browser close confirmation only when you're playing
- Dev
- Add
/savemapscreenshot true
to save map screenshot with baked light levels.false
saves the exact block colors to be used for map imports. - Add cheat sheet command to remove any block at your current position
- Add peer dispose Lua hook (
Event:addBeforePeerClosedListener(function(peer)...)
). Is invoked before a peer is about to be disposed after leaving the server. If you returntrue
the player will be disposed instead of killed, so the player won't drop items or play a death animation. This is used for saving players instead of killing them when they leave a server. - Update server quick start wiki docs with up to date SSL instructions.
- Log current build / version number when starting server/client
- Add cheat sheet guide on how to automatically spawn grenades every 5 seconds
- No longer expect intermediate SSL certificate to be present - just use the domain fullchain and private key instead
- Add
Build 206 - β°οΈNew Mountains, Cave Shrubbery, and Lights Update! π‘
10-09-2024
What's New: Mountains and cave shrubbery added! Premium players get an upgraded light system. Explosives are nerfed, weapons tweaked and healing items have been buffed.
- New
- Add mountains in survival again since they're now flattened near the spawn area
- Generate cave shrubbery
- Lights (premium)
- Add spotlights (used for shotgun currently)
- Add a small player glow in dark areas
- Some light update fixes
- Light optimization - less laggy
- Show browser window close confirmation if you're gonna lose progress. (if you've been playing for 30 minutes or you've been alive for 2 minutes and you have items in your inventory.)
- Fix
- Can now place structures intersecting teammates
- Fix survival tower structure surface positions
- Make sure camera is centered on spawn area when you join the game
- Fix the gaps in the reload circle indicator
- Sword correctly applies lower damage when not attack is not charged fully
- Some tweaks in how bullet hits are registered
- Tweaks
- Explosives can only hurt
6
entities (down from10
) - Explosions deal
25%
damage through walls (reduced from100%
). - Total combined explosive damage is now
(maxDamage * maxExplosionTargets) / 2
changed frommaxDamage * maxExplosionTargets
- Increase max pistol damage:
1.5
>1.8
- Adjust healing/eating amount:
- medkit:
10
>12
- berries:
2
>3
- pumpkin:
4
>5
- bread:
3
>4
- meat:
3
>4
- medkit:
- Disable
Eventmap28062024-Aincrad
map since the "bed" position doesn't make sense and is hard to defend - Do not autoconnect by default to a server on desktop client when it launches
- Vehicles are no longer given through ads (they'll be premium / desktop only in the future)
- WIP: Can drive vehicles (buggy and unfinished, but better than before)
- You can fall out of the map in TDM and CTF
- Explosives can only hurt
- Dev
- Add Terrain Generation Guide to wiki
- Some additions and changes to the cheat sheet
- For SSL certificates you only need the full chain and private keys now
- And a bunch of other small things...
Build 205
20-08-2024
- Add new skins
- Add new maps (thanks 0Player, Sniper, Vamanster)
- Add UI scale slider in settings
- Better explosions
- Explosions can damage up to 10 entities (increased from 5)
- Add max combined explosion damage across all entities (the max explosive damage * 10)
- Explosion damage priorities the nearest entities first
- Add oak trunks back to terrain generation.
- Update logo in main menu to new logo
- Remove new items from supply crate
- Keyboard, chatting works on mobile web version
- Fix logo in main menu disappearing on low resolutions
- Fix exploding head emoji padding
- Fix paintbrush not working
- Fix oak trunks not working for crafting wood.
- Fix desktop client server connection not working.
- Fix battle royale server crash
- Secret stuff...
Build 204.2
21-07-2024
- Add oak trunks to snow biome
- Fix oak trunks not working for crafting wood
- Fix desktop client server connection not working
- Fix oak sapling placed breaking chunk loading client side
Build 204
19-07-2024
- Add fullscreen mode using
SHIFT+F
for premium users! - Add some new emojis! (credits to Parasite)
- Add glowstone! Heals when walked on. Can be found deep underground
- Add ferns!
- Show block names when holding down alt over a block
- Improved night sky graphics on desktop
- Make it possible to connect to your local server by typing
localhost
in direct connect UI dialog - Direct connect dialog saves last connected address
- Add oak trees (they don't spawn yet)
- Add glow bush! (they don't spawn yet)
- Some portrait mode UI fixes
- Show better error message when downloading an older game client that doesn't exist
- Fix crab zombie rendering
Build 203
28-05-2024
- Arrows/daggers become dynamic again if the supporting block they're attached to collapses
- Arrows are only collectable from the ground, they disappear (are consumed) when hitting an enemy
- Thrown daggers are a little bit faster
- Animals do not pick up items
- Bows have updated reload sounds
- Arrows/daggers stick to walls better and are easier to jump on
- Fix color markup not working in chat!
- Fix some random kick issues
- Throwable daggers deal more damage.
- Fix leg textures being used for arms (lol..)
- Reduce dagger damage from 1.5 > 1.25
Build 202
27-05-2024
- New
- Add daggers! Dual wield melee weapon that can be thrown!
- Add crossbow!
- You can climb on arrows / daggers stuck on walls!
- Arrows / throwing daggers make sound when getting stuck in the ground
- Arrows / daggers can be picked up from the ground!
- You can download different versions of the game from the download section
- Add new particle emitters!
- Improvement / Tweak
- Increase sniper damage
- Increase bow damage
- Zombie survival: Respawning in old is no longer possible at last wave
- Zombie survival: Daddy zombies arrive at wave 40!
- Zombie survival: Bergobrine shows up at blood moon (wave 66)!
- Double tunnel hp (from 200 to 400)
- Zombie survival regrows surface trees every other wave
- Battle royale
- Reduce join duration from 60 > 30 sec so people don't respawn too late into the game.
- Increase minimum map radius from 64 to 96 meters in each direction.
- Update URL to match currently connected server after you successfully connect to a server on html client.
- Increase TDM win score player multiplier from 1 to 2 (each player connected adds another 2 kills to the total score to win the game).
- Bug
- Fix items dropping if you drag and drop < 250 milliseconds
- Fix zombie arm/leg textures
- Fix double
nosandbox
entry in wiki - Fix leaderboard showing loading spinner multiple times when clicking a tab multiple times.
- Make it less likely players get kicked seemingly for no reason
- Zombies get stuck less frequently
- Build phase off-limits zone is centered properly
- Do not offer premium item rewards to non-premium players
- Fix some melee damage and healing issues (doors etc)
- Dev
- Add command to restart server when the match is over.
/set io.lurkers.game.Constants autoRestartWhenEmpty true
Game:runCommand(command)
can optionally prefix the command with/
.- It's now possible to send commands from the server CLI. You can send server chat messages by typing any text. You can also parse commands by prefixing with
/
or.
- Add command to restart server when the match is over.
Build 201.4
17-04-2024
- New
- Add 3 new bedwars maps!
- Forgotten World (Parasite)
- Ravine (sniiper)
- Magma Volcano (Parasite)
- Update default player skins
- Add new explosion, rocket, teleportation particle effects
- Press
F3
to toggle game debug info - Add lava bubble particles
- Add 3 new bedwars maps!
- Wiki
- Update font
- Update title
- Add page TOC's
- Add map creation guide
- Simplify server installation guide
- Poki
- Show message prompt if version redirection failed
- Fix game freeze when redirection fails (when playing in iframe)
- Fix gameplay start / stop events triggering when pressing space on commercial breaks.
- Remove Poki banner ads
- Dev
/resetitemtypes
command - reloads item data fromitems.json
during gameplay- Files can optionally be overridden from the local filesystem when
dev
mode is enabled. Useful for modding, or testing new assets without recompiling the jar. - Add
Entity:delete(entity)
Lua API
- Bug
- Fix random game freeze when teleporting
- Vehicles are no longer offered through ads
- Improvement
- Render marker name on hover
- Can now cancel automatic server reconnects from the prompt
- Double max particle count for non-web builds
- Improved AI ranged weapon usage. They'll fire from a bigger distance. They'll reload. They'll aim their bow & arrow properly.
- Sunlight goes further than torches
Build 201.3
07-04-2024
- New
- Player UI (nickname, minimap, healthbar) is hidden if the player is hiding in the dark
- Fix
- Fix bullets from other players not destroying when hitting a wall
- Fix item buying button sometimes not working
- Do not show multiple "disconnected" prompts
- Improvement
- (Survival) Zombies don't spawn in spawn area
- Dev
/set
command can now be used onConstants
class.- Fix server crashing if using
imagetoblocks
with an invalid URL - Add block, entity list to wiki
- Make it possible to override map size. Using
/mapconfig map_chunk_width 5
and/mapconfig map_chunk_height 5
Build 201.2
02-04-2024
- New
- Add 4 new bedwars maps! (credit Bobbius, Sniiper and 0Player)
- Collapsing tree blocks have a 2.5% of dropping a vine block
- Dev
- You can now load JavaScript files instead of Lua scripts. Lua API's that use Lua closures and Lua tables do not work yet.
- Add basic Lua debugger support. (Currently disabled, but will be enabled later)
- Add Lua
socket
library for enabling network communications
- Fix / Improvement
- Fix Rockets/grenades dont explode on impact anymore
- Remove Croy the mechanic. It was an April's fools and vehicles are too buggy β οΈ
- You can't shoot people from within the protected survival zone (credit 0Player)
- Show warning prompt when connecting to a http server from https
Build 201
28-03-2024
- β¨ New β¨
- Add Croy the Mechanic to survival! (he sells vehicles) π
- Add Bergobrine? π»
- Add fish π
- You can now favorite servers! βοΈ
- Livings create underwater bubbles π«§
- UI theme overhaul and improvements (blue UI)
- Add social media links to main menu
- π Improvements π
- Increase max human HP from 15 to 20 (to make the game a bit easier on the players)
- Show total servers, players in server list title
- Move server download button from server list to download client dialog on main menu
- Some bullet hit detection improvements
- Show warning prompt when connecting to http servers
- π Fix π
- Fix players dealing double damage!
- Fix corrupt chunk load failure. Chunks may still fail, but they will just reset in that case
- Fix Windows desktop client not working
- Disabled armor tooltips since they sometimes get stuck
- Fix ranged weapon aiming underwater
- Fix zombies flying
- Disable daddy zombie in survival
- Some lighting system optimizations
- Some Poki fixes
- Some other small fixes and changes...
- π§ Dev π§
- Add
nosandbox
server launch arg. Gives access to Lua globalsos
,io
,package
,debug
,file
. (warning; only use if your Lua is not accessible to anyone else) - Add
/savelightmap
client-side command for exporting the current lightmap to a png file. /set
command can sync with clients!- AI's can be set on custom servers
- Add
Build 200
07-03-2024
- New
- Add new player skins!
- Add magma!
- Friends list
- Add obsidian block
- Add obsidian tools
- Make obsidian armor craftable
- Big zombies and daddy zombies spawn deeper underground in caves in survival
- Sheep reproduce. Put them in an enclosed area with wheat on the ground and they will eventually increase in numbers
- Add windows / mac / linux desktop clients (you don't need to install java to run the client now)
- Improvements
- Reduce lava / magma damage
- Liquids and magma glow
- Items are destroyed in lava
- Sheep AI improved
- Double sheep hp from 5 to 10
- Add sheep sounds
- NPC's push each other away when touching
- Animals have a higher chance of dropping meat on death
- Show server player is connected to or last connected to in account info. Only works for registered players for now.
- Add version filter in server list
- Non-poki players prioritise bedwars gamemode as highly as tdm when autoconnecting to servers
- Adjust server autoconnect algorithm so it more aggressively puts players on the most populated servers if the total player count isn't high enough
- Leaderboard resets monthly
- Show basic K/D ratio and W/L ratio in leaderboards
- Show player joined message if player has a nickname thats not default
- Add armor slot icons to indicate which slot is for which armor type
- Revert disable poki/non-poki server filtering. We want to keep the hardcore players together.
- Battle royale: Reduce map size
- Battle royale: Add final countdown to prevent games not ending
- Fixes
- Fix chestplate arms not rendering correctly
- Fix
/
commands not working for sup role. - Show failure dialogs if payment requests fail or are cancelled.
- Battle royale: Fix rockets firing when they shouldn't
- Fix issues with respawning
- Fix turrets having blood effect when hit
- Development
- Add more API's to Lua custom servers
- Add basic AI guard Lua example that follows you if you type "follow" near it and stops when you type "stop" near it. Does not do any pathfinding or attacking yet.
- Add some basic Lua AI movement commands
- Fix
/imagetoblocks
crashing when running multiple times when loading URL's due to threading issue
- Some other fixes and improvements
Build 199
01-02-2024
- Client prediction for attacking! Your melee and ranged hits not register where you aim.
- TNT takes damage now and can explode early
- Show latency in bottom right corner of screen
Build 198
31-01-2024
Add battle royale!
Build 197
30-01-2024
- New
- Enable resource replenishing in survival (dirt and trees will regrow automatically every 10 minutes. Only on servers with 10+ players)
- PVE: 33% chance of showing coin reward ad if the player has < 100 coins
- All players spawn with 1 homestone on survival first time spawning
- You can now run commands starting with
.
instead of/
. These commands are also visible in the chat.
- Improvements
- Left click to interact with crates only works on poki (since it's annoying)
- Trees show block damage
- Nerf pickaxe dirt mining speed
- Nerf axe wood damage
- Sup role players must use
.
prefix to run commands. (For transparency reasons) - Download client/server for the current version you're on, not always the latest.
- Update protected area messages to be more descriptive
- Show protected area message when shooting people in the protected area.
- Autobalance messages show as announcements, not chat messages
- Fix
- Fix melee weapons not detecting hits if you stand too close to an enemy
- Fix homestone showing attack announcement message
- Modding
- Add Lua API:
Game:getMatchTimeInSeconds()
- Add support for multiple zones (use "zone1", "zone2" etc). (must increment by 1)
- Fix custom servers not working on Windows
- Add command
/resetchunk X Y
- resets a chunk if it hasn't been modified in a while. - Add
living:randomiseTextureIndex()
API - Fix
getEntitiesByType
API index starting at 0 - NPC's can now fire ranged weapons!
- Add Lua API:
- Add vehicle (wip)
- Add paint brush (wip)
- Add battle royale gamemode (wip)
- More internal changes
Build 196
26-01-2024
- Improve survival area zone sizes
- Fix player teleporting not working properly when using awaystone
- Some memory leak fixes
- Fix some blocks having wrong team / owner
- Fix server freeze
- Change most of the server messages to be system messages instead
- Add some more messages for when login / server list fails loading
- When connecting directly to localhost, do not wait for server list to finish loading
- Improve login failure messages
- Show peer ID in account info
- Update server docs
- Fix awaystone being free in the crafting menu
Build 195
23-01-2024
- Premium players can download the game desktop client and server software!
- Disable poki/official server autoconnection priority. Most of the official servers are empty it seems like.
- Add new item:
Awaystone
! This item teleports you to a random location and is given to premium players when spawning in survival. - Premium players spawn with 1 homestone in survival
- Show spawn area marker in survival.
- Increase the survival free playable area size
- Fix player getting teleported around when spawning / teleporting if the map area isn't loaded.
- Add match time to advanced server list view
- Fix poki version showing premium purchase button on Firefox
- Add contested flags. (can not capture flag if your flag is taken)
- Fix flags not capturing
- Add spawn base markers to ctf
- Reduce bedwars spawn position random offset a bit so players dont spawn in the walls
- Possibly fix issues with bedwars game not ending
- Fix players sometimes flying after losing control of their body and regaining control after being on a ladder
- Fix /give lua script not working if people are spectating
- Fix grenades not exploding on some occasions
- Fix loading spinner being too big in server list
- Fix cinema mode toggling dropping equipped item
- Add smooth camera movement for cinema mode
- Cinema mode has 3 states that can be toggled (3rd one hides name labels as well as HUD)
- Add player count color coding in server list
Build 194
06-01-2024
- Added gamemode selector in main menu (simply click the gamemode you want to play and you will automatically be directed to a suitable server)
- Add autoconnect settings checkbox to toggle automatically connecting to server when starting the game or not
- Close main menu after connecting from the server list menu
- Close main menu after connecting from the gamemode selector
- Added Chinese translations (uses a new font)
- Added Turkish translations (uses a new font)
- Added Brazilian translations
- Added Argentinian translations
- Translated more text
- Fix random pixel glitching sometimes in the terrain
- Fix chests only showing 2 columns on mobile
- Reduce bedwars spawn x offset so players dont spawn in walls
Build 193
02-01-2024
- Players automatically connect to servers that are suitable
- Poki servers if they're on Poki.com
- Mobile servers if they're on a mobile device
- EU / US servers depending on their country
- Increase iron and mithril armor protection
- Player healthbar tints to yellow then red when dropping
- Respawning takes 3 seconds longer in bedwars if enemies are near your base
- Increase TDM spawn protection to 10 seconds
- Block antigrief message shows as announcement instead of message
- Zombies can spawn underground at night in survival
- Do not allow carrying things if already carrying something
- Reduce flag waving so it doesn't show pixels outside the texture region
- Players only die when falling out of map in bedwars, not when touching sides or top of map
- Mobile improvements
- Adjust UI in mobile to look bigger
- Show only 2 item columns for shop on mobile
- Show shop item titles on mobile
- Disable mobile left joystick drag follow mode
Build 192
24-12-2023
- Fix enemies able to place structures inside enemy base!
- You do not fall through your own platforms any longer.
- Fix some issues with game freezing on load screen
- Allow left clicking on chests to open them
- Try and fix player losing control of their player
- Do not show premium players ads after round ends
- Some server CPU optimizations
- Fix server memory leak
- Add better server profiling
- Fix mobile build toggle button stretching block images
- Do not prevent block destroying when the player is not on a team: See https://discord.com/channels/430541432370233381/1186880609562411071/1186880609562411071
- Fix players able to carry flag and prop at the same time
- Offer more block rewards in survival
- Adjust ads a bit
- SUP role players can use
/give
command on certain items - In survival spawn higher up to try to prevent spawning inside the ground. See https://discord.com/channels/430541432370233381/1187003235731525662/1187003235731525662
- Fix opposite team winning TDM matches
- Change default gamemode from zombie survival to team deathmatch
- Make announcements not touchable (when clicking on them, they won't block shooting etc.)
- Add option to close a vote window without voting
- Add entity render ordering so entities don't randomly render in different orders (crates render in front of players, local player always renders before other players etc)
- Disable dragging items from shop since it doesn't work anyways, confuses players, and breaks scrolling
- Fix TDM not reporting leaderboards
Build 191
18-12-2023
- Enable 120 fps for desktop version
- Add tween animation for shop button so its more visible
- Add small announcements (for less important info)
- Show local kill / death announcements
- Add close button to scoreboard in case it fills up screen
- Projectiles pass through spawn protected livings (make it easier to destroy the chest in bedwars when there's too many people in spawn)
- Drop 75% of items on death when a player kills another player. This is to prevent too many items from stacking up (see 64 player tdm...)
- Reduce opacity of player labels so they're less intrusive
- Add build phase zone rendering!
- Add margin to restricted areas so it doesn't keep spamming the message after teleporting you
- Render player names below interact labels and markers
- Increase spawn area in PVP games so players don't all spawn on top of each other or on top of the supply crate
- Prevent players from getting stuck in bedrock on Dead Planet map
- Show commercial when game is over after 5 seconds, not 2
Build 190
18-12-2023
- Add secret teleportation item...
- When selling items, the coin reward automatically stacks to any existing coin stacks! (long awaited improvement)
- Add TDM, CTF to leaderboard
- Add some missing item descriptions
- Add markers! (Shows you the enemy base in bedwars, TDM)
- Disable cloud fading (clouds are a bit brighter)
- Fix supply crate interaction (right click) not working to open supply crate if half the supply crate is in a neighbouring chunk
- Show fewer chat lines in mobile landscape mode
- Add dirt block texture variations
- Fix mobile joystick slow movement on ladders
- Attempt to fix memory leak and deadlock (server freeze)
- Zombies can no longer place creep blocks in protected areas
- Show ammunition type in ranged weapon descriptions
- Healing is allowed in protected area
- Chat scrolls down when receiving new messages and chat field is open as long as you're scrolled all the way down
- Show player names in cinema mode
- Performance: Block shading is packed in texture atlas
- Make link buttons clickable on the button, not just the text
- Disable props (they cause lag / physics crash issues still sometimes)
- Fix server list loading delays
- Add a shop button at the bottom of the screen
- Show shop / crafting button text on mobile in landscape mode
- Increase max physics step time threshold (200 > 300 ms)
- Give players a pistol when spawning in TDM/CTF
- Increase TDM max win score to 100
- Increase build phase time to 90 seconds
- Allow respawn in zombie survival during waves (12 second delay)
- Items bob up and down at different rates
- Add 99k hp supply crate in TDM/CTF
- Only show autobalance messages to the player affected
- Do not show player join / left messages
- No longer generate mountains in survival
- Remove trees on top of bedrock base area in TDM/CTF
- Add survival spawn construction and wilderness boundary towers
- Increase survival spawn area
- Increase survival/sandbox premium restricted area from 96 to 192 meters
- Increase survival/sandbox protected area, reduce build protection area
- Protected area protects against bullets
- Increase starter pack ad reward offer validity time from 15 to 45 seconds
- Always update server list when server becomes full (to avoid players automatically connecting to full servers)
- Make stone axe, pickaxe darker so they look less like iron tools.
- Attempt to fix NaN flag/prop carrying errors
- Make sure popup tutorial shows again when changing orientation mode and reloading UI
- Use current hp when creating healthbar (changing to portrait/landscape mode)
- Mobile portrait / landscape mode layout improvements
- Mobile chat renders fewer chat messages
- On mobile Poki version, move UI elements away from the Poki sidebar pill
- Fix platform team color not rendering correctly
Build 189
11-12-2023
- Various Poki fixes
- Improve mobile device detection
- Use default window resize logic to fix some mobile scaling issues
- Use hidpi for mobile devices
- Loading screen bg color matches bg image
- Fix tablets not being detected as mobile devices on GWT
- Performance: Blocks render more quickly / cache block textures
- Performance: Only send chunks once
- Performance: Disable preload block/chunks (reduces load time when starting game)
- Performance: Block metadata performance improvements
- Performance: Disable minimap until we can move to using FBO
- Increase respawn delay from 3 to 4 seconds
- Camera shake for explosions works when spectating
Build 188
11-12-2023
- Add rifle (scar)! Credit to Vamanster
- Add TNT!
- Improve backdrop colors / design
- Make day sky a bit bluer
- Add clouds!
- Fix grenades not exploding sometimes
- Fix explosives having fixed rotation
- Make screen shake more... shaky
- Increase screen shake when taking damage
- Explosions create fuse particles in red before exploding
- Add screen shake for explosions
- Fix bedrock base protected area height
- Flag announcement messages show team color
- Fix game muting when quitting
- Add mobile popup tutorial descriptions
- Fix popup tutorial cutting off player on some resolutions
- Set max attack range to 3 meters. (sword fix)
- Increase chat area size
- Fix chat not scrolling down when closing
- Add ambience color hue shifting (colder colors at night, warmer at day)
- Press enter to close typing a message if the message is empty
- Chat messages fade out individually over time
- Add back green healthbars
- Fix able to heal past max hp
- Only allow playing individual sounds every 50 ms (fixes some bad sounds with collapses and shotguns etc)
- Fix snowballs being placed on top of spikes
- Return flag when its away from spawn
- Do not spam flag messages
- Flags don't get hit by explosions
- Fix flag returning when being carried
Build 187
08-12-2023
- New gamemode: Capture the flag!
- Add new font for various UI elements
- Add new bow sounds
- New health bar and charge bar designs
- Reduce item pickup delay so farming is easier
- Change shop icon to a chest that opens
- Change a bunch of server chat messages to be announcements instead
- Announcements are unique (they no longer show the duplicate message)
- Allow max health overriding (supply crates in bedwars have higher hp)
- Reduce number of files downloaded on client
- Trees are excluded from collapse antigrief
Build 186
06-12-2023
- Fix block owner not showing when spectating
- Fix block metadata when replacing blocks, and not setting new metadata correctly.
Build 185
05-12-2023
- Add new team block protection!
- Show block team and block creator when holding
ALT
key!
Build 184
03-12-2023
- Add reward ad skins
- Zoom in slightly gradually when the resolution is low
- Add popup tutorial (bedwars only for now)
- Snowballs hit players
- Make sure you don't automatically pick up items when dragging them out of inventory
- Fix fonts moving around using integer positions
- Fix camera zoom not updating when dying
- Some more fixes
Build 183
01-12-2023
- Improved mobile controls and UI!
- Portrait mode support
- Layout and UI changes, support lower resolutions
- Camera movement freezes for a second when you get killed
- Add inventory dropping by dragging items out of the inventory!
- Fix trapdoors getting turned into doors on maps
- Add horizontal scrolling for scroll panes
- Add linear texture filtering to font if resolution is too low (make text more readable at low resolutions)
- Survival/sandbox protected area protects players
- Add new Lua API
Peer:getPeerFromInternalPeer(internalPeer)
- Add new Lua API
Level:addDamageListener(function(target, attacker, damage)
to adjust or reject damages - Finally fix being able to place blocks on map edges
- Make map edge block support configurable (
mapEdgeSupportsBlocks:true/false
) - Add autobalance to TDM
- Fix snowballs putting snow at bottom of map
- Snowballs are more accurate
Build 182
27-11-2023
- Make back-end error messages more readable
- Items don't glitch through walls when dropped
- A bunch of changes for Poki version (only affects Poki.com)
- Fix grenades hurting chest bug
- Hammers are effective at taking down doors.
- Add snowballs!
- Fix projectiles rendering too small when stretched and moving slowly
- Remove the video ads showing randomly
- Fixed the terrain chunk edge bug
- Fixed terrain blocks missing after removing background blocks
- Show grass block icon in UI and when holding block, but show the normal dirt block when placing blocks
- Hotfix for bedwars not ending when chest is destroyed if the killer isn't registered
- Dynamic lights! (not released yet)
- Advanced sound engine, cave sound atmosphere, underwater sound atmosphere! (no html support)
- Swimming animations! You don't bob at the surface anymore
- Convert bedwars maps to use iron doors and increase supply crate health from 20 to 60 hp
- Fix players sometimes becoming invisible
- Door only open when you touch them!
- You can no longer shoot through doors!
- Show health values when holding ALT
- Animate health bar
Build 181
25-11-2023
- Leaderboards!
- Improve minimap
- Improve server list
- Add AI bots
- UI improvements
- Improve server infrastructure
- Add
entity:register()
method so you can configure entities before spawning them in Lua. CallLuaEntity:prepareNewPhysicalEntity()
first. - Make it possible to spawn props
- Reduce desktop/server jar file sizes from 30 > 10 mb
- Reduce desktop/server build time from 20 seconds to 4 seconds
- Increase Box2d autorestart contact limit from 4000 > 6000
- Some memory leak fixes with physics
- Internal fixes and improvements
Build 180
17-11-2023
- Add basic antigrief. Only prevents destroying friendly structures for now
- Show scoreboard local player indicator
- Increase autobalance margin by 1
- Fix issue with nickname not updating when logging back into your account
- Changed camera free movement from
SHIFT+LMB
toSHIFT+CTRL+LMB
- Added new server infrastructure (still testing this)
- Do not automatically restart server when it becomes empty
- Reduce movement aim penalty by half
- Do not show ads until after 120 seconds minimum
- Fix obsidian armor selling for 91358131855 coins
- Add premium button to main menu
- Revert Halloween update - add pumpkin as an official game item
- Remove "Block" from item names in UI
- Fix kill messages not showing
- Fix grenades destroying own chest
- Fix dynamic map sizes breaking spawn positions in tdm, zombie survival
- More internal changes
Build 179
10-11-2023
- Add reward ads
- Add PVE starter pack to survival as well as zombie survival
- Add random item rewards
- Roles are synced with back-end
- Votekick build restrictions are now tied to IP instead of account ID
- Hammer deals 1 extra damage against enemy structures
- Buffed hammer healing a bit more
- Reduce survival protected area from 32 > 24 blocks in each direction
- Fix spawning not working for unassigned team
- Change main menu layout to support more space
- Some more fixes and changes
- Fix duplicate players showing up
- Fix Level:setBlocks not invalidating server blocks properly
- Improve x icon
- Nerf obsidian armor by 20%
Build 178
04-11-2023
- Fix shop inventory updating so frequently (causing tooltip to disappear)
- Fix grenades damaging your own supply crate when changing teams after throwing it
- Increase autobalance player margin from 2 to 3
- Reduce platform block hp from 5 to 4
- Handle some errors better
Build 177
02-11-2023
β’ Automatically update server list and player count in main menu after 3 minutes when opening main menu or server list
β’ Fix structure collapse duplicating collapsing blocks
β’ Increase item drag and drop image size
β’ Mobile world is zoomed in 2x
β’ 'imagetoblocks' can load images from URL's now. Example: /imagetoblocks "https://media.discordapp.net/attachments/1061179499955355709/1151742565394153472/pixil-frame-0_27_fix.png?ex=6555a059&is=65432b59&hm=ee432ff4efad4a2a5b9f148016cc7519657e1ca565c1395fc03f6611917e3043&=&width=172&height=172" 0 0
β’ Draw 3d block items on the ground
β’ Add Level:setBlocks
Lua API. Usage: /lua Level:setBlocks("StoneBlock", 0, 0, 8, 8)
β’ Improve brick edge rendering so they don't look like stilts
β’ Reduced projectile movement accuracy reduction by 25%
β’ Update key binding info for sound muted
β’ Add player mobile indicator in scoreboard
β’ Buff hammer healing (1 hp > 2.5 hp)
β’ Add mobile touch button override for mobile controls when toggling lmb/rmb
β’ Attempt to recover from entity invalid positions.
β’ Some internal fixes and improvements
Build 176
27-10-2023
- Attempt to fix some game freeze issues
- Fix closing 1 popup closes all popups
- Fix player respawning when in spectator team
- Fix respawn bug (quick respawn)
- Fix inventory updating when other players respawn
- Better error reporting
- Some more small error fixes
Build 175
24-10-2023
- Show messages in some cases when map restarts due to internal errors
- Fix announcements UI error and squashing HUD when there's lots of announcements going on
- Some internal fixes
Build 174
23-10-2023
- Halloween update!
- Add block damage culling
- Speed up game load time (add caching)
Build 173
23-10-2023
- Attempt to fix server crashing frequently
- Some error fixes
- Fix recursive door collapse
- Make it possible to write
/give ladder
instead of/give ladderblock
(you no longer have to end withblock
) - Fix votekick not working
- Improve dirt background texture
- Fix death unmuting game
- Fix empty chunks in a bedwars map
- Fix HUD getting squashed when playing for a long time
Build 172
19-10-2023
- New UI
- Fixed issues with respawning
- Bans apply to player accounts
- Players drop their inventory on death
- Add obsidian armor
- New loading screen
- Fixed some issues with liquids
- Nerfed armor
- Improved mobile UI
- Fix background block health (it takes more time to break background blocks now)
- Add server chat messages to players to encourage them to become SUP
- Show reload circle progress bar when equipping consumables
- Add patreon link
- Explosives deal more damage and have bigger range
- Add dynamic map sizes! (based on player count)
- Fix crash due to recursion when collapsing lots of platforms next to each other
- Fixes to collapse logic
- Add arrow key movement
- Server crash fixes
- Migrate from AdinPlay to Poki ads / SDK
- Add reload animation
- Add weapon recoil
- Add team autobalance
- Add weapon accuracy penalty when moving
- Add special spectating camera control with
SHIFT+mouse click
while playing for support/moderator/developer roles - Add structure team colors
- Spikes only damage enemies
- Healthbars only show by default when entities are damaged
- CPU and memory usage optimizations
- Game remembers if it's muted or not
- Reduce TDM build phase time from 180 > 60 seconds
- Fix spawn protection not working
- Add protected areas to TDM
- Place spawn bunkers in TDM to help prevent spawnkilling
- Make birch leaves see through
- Add vine block
- Show advanced item descriptions
- Increase door prices
- Make all tooltips show instantly by default
- Increase rocket life from 4 to 8 seconds
- Remove gun turret from team deathmatch
- Skip main menu screen for first timers - so we can get them straight into the action
- Add player muting (client-side only) - right click players to mute in scoreboard
Build 171
29-07-2023
Added 3 new bedwars maps to map rotation
Build 170
25-07-2023
Fix minimap not rendering shading for some chunks Sound plays at 50% volume when main menu is open Center camera in middle of map in bedwars so the game loads in the background when the main menu opens Fix scroll bars overlaying instead of being next to the container Premium members get VIP premium badge! Add supply crate buy indicator Performance improvements, game rendering updated to be faster! Fix arrows not being affected by gravity Fix trapdoors breaking when breaking the block below it Fix door range bergice Reverse CTRL modifier for scroll zoom/cycle inventory (default to cycle inventory) And a bunch more small changes, fixes and improvements!
Build 169
06-05-2023
- Add scroll pane to dialog content
- Set scroll focus on dialogs
- Show scroll panes by default
- Improve premium purchase dialog and buttons
- Fix sheep spawning underground
- Allow zooming again.
- Restrict far zoom when playing (not spectating)
- Swap CTRL zoom / cycle inventory modifier (zoom by default)
- Add account info when right clicking players in scoreboard
- Dialogs and windows no longer fade in / out
- Add votekick starting for registered players older than 1 week
- Only update latest played build number if < current build number
- Add block placement delay of 2 seconds once a block is broken To improve PVP gameplay and block placing abuse
- Block placement delay is only activated when there are other livings nearby
- Fix gold arena protected area being wrong
- Fix votes starting for Yes/No
- Only allow 1 vote per IP
- Only enable VPN blocker after kicking if the kick was not automatic
- Add reason and kicked by peer to votekicks
- Make placeable items (doors, chests etc) placeable with
RMB
instead ofLMB
- Allow 3 digit country codes
- Fix human players spawning at zombie player positions during night time
- Update spanish translations (thanks manolo)
- Add German translations (Thanks 0Player)
- Items do not collide with structures (can no longer break turrets by dropping items on them)
- Fix structures breaking if placing a background block over dirt background behind a platform when the structure is placed above the platform
- Fix ladders placeable over spikes (instant removal) - same with wood spikes (or any other block really)
- Fix mining distance not breaking block directly at mouse It would hit blocks slighly further away, and reject placing background blocks directly behind you since it would always check blocks 1 cell away
- Make it so you can't place shingles / platforms through other shingles again
- Make it possible to break blocks through platform+spike blocks
- Fix able to quick mine multiple blocks by aiming further away
- Add minimap
- Fix moderators able to change all roles
- Add new blood moon challenge (daddy zombie)
- Include entity collision when checking grounded state (can now jump on trapdoors again)
- Update TOS
- Show ban info when platform banned
- Add link to terms and conditions on purchase dialog
- Fix scrolling being applied twice in web builds
- And much more...
Build 168
10-04-2023
- Show unassigned team in scoreboard
- Fix sword jump bug
- Increase impact damage by 50% (fall damage, getting hit by falling blocks etc)
- Increase survival map area
- Fix setting to an already used nickname when updating nickname
- Press enter to update nickname
- Fix kicking / banning not working
- Reject platform banned accounts
- Add Chrome extension to wiki
Build 167
03-04-2023
- Some other improvements and fixes
- Fix camera glitching on death when holding down mouse
- Update minimum resolution to accommodate UI size
- Attempt to fix stair + ladder stuck bug
- Fix unable to place background blocks behind platforms, stairs
- Fix bedwars protected area bug
- Fix block damage not rendering correctly
- Fix projectiles going through red team doors
- Increase platform block health from 4 to 5
- Increase server auto restart from every 24 to every 48 hours
- Add new premium skins
Build 164
26-03-2023
- Show player skins in scoreboard
- Latency uses color grade instead of fixed colors
- Add cinema mode (no UI) by pressing
CTRL+SHIFT+C
- Internal improvements
- Revert Christmas hat skins. Add custom Christmas hat premium skin.
- Fix match time blinking when rendered
Build 163
20-03-2023
- Projectiles do not hit spikes
- Fix rockets stacks higher than 3 when picked up from ground
- Show match time in scoreboard
- Hide game version from scoreboard
- Fix wrong bedwars spawn position
Build 162
17-03-2023
- New
- Add new gamemode:
bedwars_map_rotation
with 6 maps - Add lava and water! (not enabled in any gamemodes right now)
- Show player latency in scoreboard
- Add iron trap doors
- Add account validation
- Add VPN detection
- Add new gamemode:
- Fixes / improvements
- Projectiles do not collide with platforms (with the exception of grenades and rockets)
- Enemy players now fall through platforms properly
- Bedwars player team is random if they have the same number of players
- Doors don't block projectiles when open
- Set stack size to 3 for medkit, rockets
- Set default stack size for consumable items to 64
- Increase grenade launcher max damage from 15 to 18
- Fix items going into armor slots when inventory is full
- Using color markup in chat doesn't break the whole UI (only half... :D)
- More internal changes and improvements
Build 161
05-03-2023
- Allow auto connecting to different version servers, but only if there are no servers on our version
- Fix block equip delay not correct
- Cap consumable equip delay to 1500ms
- Cap all other equip delay to min 400ms
- Bedwars: Show who won the game in chat
- Add password reset (in login dialog)
- Fix spawn protection causing players not to die client-side on some occasions
- Internal improvements and fixes
- Fix dropped OutsideMapBlocks messing up renderer when dropped
- Enable profanity filter by default
- Add staging server support
- Add
/unban Player#1234
command to unban player by nickname - Add
/updatebans
command to reload bans from filesystem - Fix saplings not growing properly
- Weapon tweaks
- Nerf hammer block damage
- Reduce pistol damage
- Sniper rifle: Cheaper, faster fire rate, more damage
- Bazooka rockets: Cheaper
- Bazooka: Cheaper
- Grenade launcher grenades: Slighty smaller explosion range
- Shotgun: Increase damage at close range
- Reduce headshot hitbox size
- Fix grenades flying really far when holding down mouse in an empty slot, then changing to grenade and releasing mouse
- Fix wrong equipped item for other players
- Fix entities floating around immediately after loaded from a chunk
- Fix entities teleporting back to 0,0 when falling out of map bounds
- Internal chunk loading improvements
- Fix error panning camera and not connected to a server
- Only reconnect automatically if you got disconnected for an unknown reason
- Escape key will exit dialogs
- Add scrolling to dialogs (to handle too many players in votekick menu)
- Prevent both teams getting win message if they destroy crate at similar times
- Better connect address message
Build 160
19-02-2023
- New bedwars maps
- Stronger player zombies
- Automatically try to reconnect to server when getting disconnected
- Fix corrupt chunks loading
- Move sniper ammo next to sniper in shop
- Kill command shows message in chat
- Update server auto restart from every 12 to every 24 hours
- Add sniper scope (RMB)
- Fix able to place structures on tree trunks
- Add 3 second spawn protection for players
- TDM: Gun turret kills increase score to win
- Votekicked players will not be able to place or destroy any blocks for 10 minutes after getting kicked
- Reduce vote delay from 1 minute to 30 seconds after successful vote
- Votekick does not count nonvoters
- Attempt to fix zombie tunnels spawning outside top of map when players are camping there using ladders
- Improved zombie pathfinding
- Fix incorrect emoji layout for zombies
- Show reload and fire delay indicators for slower / heavier weapons
- Fix server freeze
- Set default ban time to 24 hours
Build 159
05-02-2023
- Add sniper rifle
- Increase server autorestart time from every 6 to 12 hours
- Internal server improvements
Build 158
28-01-2023
- New
- Add new zombie survival gamemode (play as zombie!)
- New server autoconnection logic - connect directly without opening new tab
- Zombies are faster
- Add scoreboard premium color
- Big zombie and fast zombie deal more damage
- Fixes
- Fix able to open chest really far away
- Fix sword working through walls
- Fix livings stuck in stairs causing box2d lag
- Make living renderer animation speed framerate independent
- Fix jumping off ladder not working at 30 fps
- Fix zombies walking faster on ladders
- Fix big zombies unable to jump
- Improvements
- Server infrastructure improvements
- Scrolling is improved
- Improve chat
- Make O and 0 characters look different
- Update copyright
- Update credits
- More internal fixes
- Moderating
- Support can kill players
- Mods can add / remove
sup
role for players - Kicks / bans show who banned / kicked you
- SUP role can ban up to 24 hours
- Add ban reason to
kick
command (example:/kick Player#1234 "You have been very naughty >:("
)
Build 157
18-01-2023
- Fix voting broken
Build 156
18-01-2023
- Add more emojis (premium only)
- Access 3 custom skins by rating us!
- Fix advanced physics causing items to jitter
- Add new zombie skins
- Render stars at night on desktop client
- Fix getting stuck in ladders + stairs
- Premium area is restricted on Y dimension
- Attempt to fix chat getting in the way when clicking
- Fix able to mine blocks through other blocks
- More bug fixes and improvements
Build 155
12-01-2023
- Add support (
SUP
) role - Sort players by kills in scoreboard
- Show player team count (and alive) in scoreboard
- Render player names using UI projection size and with black background
- Improve rendering performance
- Fix carrying props kicking you
- Ads do not show when enemies are nearby
Build 154
06-01-2023
- Add advanced physics simulation toggle
- More internal improvements
- Fix arm rotation when holding berries
- Player movement is more responsive
- Fix getting stuck in stairs when next to a ladder on some occasions
- Fix bullets sending players flying when hit
- Fix projectiles broken
Build 153
04-01-2023
- More internal fixes
Build 152
04-01-2023
Internal changes
Build 151
04-01-2023
- Internal tweaks
Build 150
04-01-2023
- Fix players spawning in the wrong place
- Zooming disabled
- More internal improvements
Build 149
03-01-2023
- More internal fixes
Build 148
03-01-2023
- Add more skins
- Smoother movement / projectiles
- Support advanced physics simulation on desktop client
- More internal improvements
Build 147
01-01-2023
- Add spawn area protection
- Survival: Players spawn randomly in the spawn area
Build 146
31-12-2022
- Crash fixes
Build 145
30-12-2022
- Skins!
Build 144
30-12-2022
- Improved projectile glitching
- Nerf bazooka
Build 143
29-12-2022
- Add bazooka! >:)
- Double tunnel HP
- Prevent projectiles from glitching around a bit
- TDM win score will be between 20 and 60 (increments by 1 per player connected)
- Fix sword going through walls
- Fix placing blocks through walls
- Fix being able to break blocks through walls
- Fix placeable items doing block damage when placed
- Give coins on TDM
- Doors disappear more quickly after destroyed
- Shotgun deals slightly more damage
- Fix projectile strafe / whizz noises not working
- Fix items going through terrain when dropped and players falling through terrain
Build 140
21-12-2022
- Fix scoreboard
- Fix saplings growing only creating 1 tree trunk
- Fix crashes
- Performance improvements
- Fix camera glitching
Build 139
21-12-2022
- Add player management tool for banning and kicking players
- Bans are permanent by default
- Banning and kicking will remove all players matching search conditions (IP)
- Disable votekick
Build 138
20-12-2022
- Add announcements
- Add votekick
- Increase respawn time in TDM to 6 seconds
- Play sound when mentioned in chat
- Add sword sound
- Use more sky and less caves in TDM
Build 137
18-12-2022
- Show port and gamemode on server list
- Use port when connecting to other servers
- Better supply crate description for buying things
- Add join instructions if server is full
- Premium users can join full servers
- Use separate server tokens for multiple servers on same machine
- Fix entities sometimes teleporting across the screen
- Fix wrong default port (6767 > 6768)
- More generic description that works for TDM
- Add min size to chat field to attempt to prevent it from glitching when reloading (height being too small)
- Enable mobile UI header on all platforms
- There are more bigger trees
Build 136
15-12-2022
- Improve bow and arrow graphics
- Reduce bow damage
- Show interact indicator on chests
- Spawn with money on first connect for map (not just on wave 1)
- Add bow / arrow crafting back
- Use account ID in Player name
- Items do not show healthbar when pressing alt
- Increase afk timeout from 15 to 30 minutes
- Wave 1 only has 1 zombie per player, instead of 2
- Less ads
- Zombies deal slightly less damage
Build 135
12-12-2022
- The blood moon begins at wave 66...
- Accounts can not connect multiple times to the same server
- Fix player names freezing when the player goes outside the screen
- Improved structure destruction particle effects
Build 134
10-12-2022
- Fix health bars not rendering correctly
- Fix charge bar glitching positions
- Only clamp camera position to map bounds when moving camera
- Fix items not using interpolated position
Build 133
10-12-2022
- Clamp camera position to map bounds when spectating
- Use interpolated position for player labels (name, emoji, charge bar, health bar)
- Zombie tunnels are spawned more frequently for each wave that passes
- Entities snap to new position when resuming tab
- Players spawn next to a random player if they join during a wave
- Healing works the same when wearing armor
- Fix pistol aiming clamping when aiming right
- Show max players in server list
Build 132
04-12-2022
- Internal fix
Build 131
02-12-2022
- Disable entity pooling to try and resolve various random bugs that happen
- Scale up mobile UI a bit
- Fix copy/pasting text causing some input issues
- Prevent lots of sounds playing at the same time when unfocusing and resuming tab
- Add
og
html metadata for better previews when linking the game - More internal improvements
- Add Lua cheat sheet to wiki
- Fix wrong server download link showing in wiki
- Zombie tunnels still have a 50% chance of spawning even if there is a path to the player
Build 130
23-11-2022
- Fix respawning not working if closing main menu before connection is established to server
- Show message popup when disconnected
- Show player count in server list
- Fixed master server list
Build 129
06-11-2022
- Move saplings from crafting shop to supply crate shop
- Make default day/night time progress half as fast
- Fix memory leak when opening/closing shop or buying lots of items in shop Due to drag and drop not removing sources/targets when the UI updates.
Build 128
03-11-2022
- Fix aiming not working when pressing mouse down
Build 127
03-11-2022
- Add basic mobile controls
- Starting coins show up in the inventory bar so you can see it
- Increase TDM build phase from 90 seconds to 3 minutes
- Increase TDM win score from 5 to 20
- Fix bullets making other players fly when hit
- Fix some UI issues
- Fix a bug where toggling inventory and shop would create a gap between the inventory and the shop
Build 126
02-11-2022
- Prevent players and zombies from getting stuck in terrain!
- More internal changes... ;)
Build 125
02-11-2022
- Reduce coin rewards for killing (from 3-6 to 2-4 coins)
Build 124
01-11-2022
- Fix changing teams quickly lets you respawn in the enemy base
- Fix crafting supply crate and destroying it in bedwars ending the game
- Fix able to join teams you're not supposed to be allowed to join
Build 123
30-10-2022
Fix internal problem.
Build 122
30-10-2022
- Add window close buttons
- Collapsing blocks take fall/impact damage, but will not be targeted or take damage from turrets or other entities
- Fix server becoming full when an error is thrown when clients connect
- Clicking outside a window will close the window
- Gun turrets deal 3 damage instead of 4
- Add logout confirmation
Build 121
28-10-2022
- Fix bedwars
Build 120
27-10-2022
- Map chunks save and reload properly
- Filter profanities in usernames/team names
- Fix turrets targeting collapsing blocks
- Fix zombies not targeting players
- Fix error when spectating and respawning too quickly
- Fix more errors
Build 119
26-10-2022
- Revert fixes
Build 118
25-10-2022
- Map changes are saved when unloading and reloading chunks
- Fix blocks damage not emitting particles
- Fix turrets targeting owner
- Spikes take damage over time when used
- Spikes deal half damage
- Fix turret collision still happening after turret is destroyed
Build 117
20-10-2022
- Fix server crashing if a chest / gun turret has been placed on the map and the server restarts
- Fix zombie tunnel message spamming from wave 15
Build 116
20-10-2022
- Fix problems with latest update
- Fix error when livings fall on spikes
Build 115
19-10-2022
- Fix game client
Build 114
19-10-2022
- Chunks unloaded will now keep their changes when reloaded
- Fix players able to climb open platforms and spike blocks
- Fix platforms not working when joining a game in progress
- Fix bugged spike collision
- Some more error fixes
Build 113
18-10-2022
- Fix structures not collapsing when the ground below them collapses
- Fix issue with grass not breaking by itself and particles showing up on the wrong block broken
- Re-enable zombie tunnels, but from wave 15 only
- More internal improvements and bug fixes
Server Quick Start
This page shows you how to set up your own server.
Note: Downloading the server requires a premium account.
- Start a basic server
- Command-line Options
- Server Commands
- Run a dedicated headless server
- Adding SSL
- Health checks
Start a basic server
- Install Java 1.8 from here.
- Open the game, then download the server from the main menu in the top right corner.
- Open Command Prompt (Windows) / Terminal (Mac) then make sure it's set to the same folder where you downloaded the server.
- Run this command to start the server:
java -jar server-latest-obf.jar headless
Connecting to your server
Once the server is running there are a few ways you can connect to it.
Connecting to the server from the server list (Direct Connect)
You can join the server from the server list using the Direct Connect
option.
- Open the game
- Click
Servers
- Click the
Advanced
checkbox - Click
Direct Connect
- Enter
localhost:6768
and connect
Connecting directly from browser client
http://lurkers.io/client/latest/index.html?host=MY_SERVER_IP_ADDRESS
# Example:
https://lurkers.io/client/195/index.html?host=localhost&port=6768&secure=false
Note: Replace
MY_SERVER_IP_ADDRESS
with your IP address
Connecting directly from desktop client
Or using the desktop client, connect automatically from command line with:
java -jar desktop-latest-obf.jar dev host=localhost width=1200 height=800
Troubleshooting
I can't connect to the server.
- Make sure there are no errors on the server.
- Make sure you are connecting via
HTTP
instead ofHTTPS
. - Make sure your ports are open:
80
: HTTP port443
: HTTPS port (optional)6768
: Default websocket port6767
: Default secure websocket port (optional)22
: SSH port (optional)8849
: JProfiler port (optional)
- Try opening the browser Developer Tools and seeing if there are any errors there.
Command-line Options
Option | Description |
---|---|
headless | Runs without a graphical interface. Useful for running a dedicated server |
port | Specifies what port to run on. Defaults to 6768 |
name | The name of the server |
private | Skips registering to the master server. Note that your port must be accessible to do this anyways |
nossl | Skips SSL if there is a domain.cert.pem (fullchain) and a private.key.pem file available |
level | The name of the level to load. If the level does not exist, a new one will be created |
script | Specify what script should be loaded. Defaults to the script found in the level config. You can provide your own Lua script here if placed adjacent to your server.jar |
maxplayers | The maximum number of players that can join your server. Defaults to unlimited players |
dev | Runs the server in development mode. Disables reporting analytics. Disables client AFK timeouts |
nosandbox | Disables sandboxed Lua environment giving you full access to Lua globals such as os , io , package , debug , file . WARNING: May be a security risk if other players can run Lua commands or if your Lua environment is accessible to anyone else. |
verbose | Enables additional logging to get a better idea of what the server is doing |
version | Shows what version the server is running |
customCertFilePath | Absolute file path override for SSL certificates. |
customKeyFilePath | Absolute file path override for SSL certificates. |
customIntermediateFilePath | Absolute file path override for SSL certificates. |
Example command-line configuration for a test server:
java -jar server.jar dev headless name="MyCustomServer" private nossl script="zombie_survival.lua"
Server Commands
There are 3 ways to run server commands:
- Run a server command from the CLI
It's possible to enter commands from the command line of the server itself.
Example:
/schedulerestart 60 "Restarting server in 1 minute!"
- Run a server command from the game chat
As long as your player has permissions to run the command you can simply enter the command in chat.
Example:
/give dirt 30
, or.give dirt 30
- Run a server command from a script
You can also run commands from a Lua script:
Example:
Game:runCommand("restart")
Run a dedicated headless server
We have a server setup script that sets up a dedicated server as a service. It is configured to run on Ubuntu 22.04. A Docker container may be released at some point if enough people ask for it. If you want to run a server all the time, it is useful to run your server as headless and set up a service so it will restart if it fails for some reason.
Installation
# install server setup
yum install wget -y
wget https://lurkers.io/wiki/server_setup.tar.gz
rm server_setup
mkdir server_setup
tar -xf server_setup.tar.gz -C .
rm -rf server_setup.tar.gz
chmod +x server_setup
# install server
sudo sh ./server_setup/server_setup_full.sh \
--port 6768 \
--securePort 6767 \
--serverName "Lurkers Server" \
--launchArgs "nossl headless name='Lurkers Server' port='6768'" \
--serviceName lurkers-server \
--build latest \
--workingDir "/root"
Adding SSL
Note: The client must be using
HTTPS
for SSL to work. We recommend not using SSL for non-official servers, and instead having clients connect usingHTTP
since it's easier. However, web clients require https if they want to connect directly when playing on our official web platforms.Clients connecting to your server through the server list will automatically be redirected to
HTTP
if the server is not using SSL. On browser / web builds, users will receive a prompt to manually redirect to http since browsers don't redirect to http by themselves.
Steps
- Ensure you have a HTTPS web domain registered, for example https://lurkersisbest.com/. You will need it to redirect players to your server securely.
- Create an
A
record DNS subdomain entry which points to your server IP address, for example https://mycoolserver.lurkersisbest.com >123.45.67.89
- Generate SSL certificates for your domain. Ensure it works against subdomains as well. You can validate your SSL certificate here: https://www.sslshopper.com/ssl-checker.html#hostname=mycoolserver.lurkersisbest.com:6787
- Place the certificate files next to your server jar file.
They must be called:
domain.cert.pem
(fullchain) andprivate.key.pem
(private key). The server will automatically load them when it launches. - Set the secure address and port for your java server in the launch args:
secureHost='mycoolserver.lurkersisbest.com' securePort='6768' secureHostKey='<INSERT_SECURE_HOST_KEY_HERE>'
ReplaceINSERT_SECURE_HOST_KEY_HERE
with the secure host key which is given to you by a developer (ask bergice on the Discord server). - You should now be able to connect securely via HTTPS/WSS to your server:
wss://mycoolserver.lurkersisbest.com:6768
Health checks
You can call the /healthcheck
websocket endpoint to perform a health check.
The server will open the connection, then close it with a NORMAL
response code and an OK
message if the connection is successful.
Scripting
This page shows you how to script your very own gamemodes.
- Writing a simple gamemode
- Lua Reference
- Debugging (Mobdebug)
- Socket (LuaSocket)
- JavaScript Scripting
Writing a simple gamemode
Without any script loaded, any player who joins the game will only be allowed to spectate. Most of the game rules are scripted with Lua.
Sample gamemode
Below is an example of a sandbox gamemode where you spawn as a human with 5000 coins. It's a good starting point for making a new gamemode.
setup_default_game = dofile("scripts/modules/setup_default_game.lua")
simple_shop = dofile("scripts/modules/simple_shop.lua")
local shop = addSimpleShop()
-- Sandbox gamemode
Game:updateConfigs({
gameMode = "Sandbox",
gameDescription = [===[There is no specific aim with this gamemode.
Press B to open the shop.
You start with a lot of money!]===],
friendlyFire = "true",
spawnItems = "false",
})
-- Spawn players when they join the game
Event:addPeerReadyListener(function(peer)
handleSpawnPeer(peer)
end)
-- Just returns an inventory with 5000 coins
function getHumanStartInventory()
local inventory = {}
table.insert(inventory, {
type = "coin",
quantity = 5000
})
return inventory
end
-- Spawns a peer as a human
function handleSpawnPeer(peer)
local inventory = getHumanStartInventory()
spawnPeerWithTimerAndCounter(peer, playerSpawnDelay, "Human", Level:getRandomSpawnPoint("playerSpawn"), "Respawning in", nil, inventory)
end
Executing
Save the above code sample as sandbox.lua
next to your server.jar
, then run the server with:
java -jar server.jar script="sandbox.lua"
Next Steps / More Examples
Please see Cheat Sheet for a list of useful Lua commands.
You can also view the official gamemode Lua scripts.
Open the server.jar
with an unarchiving tool to see the official Lua scripts inside the /assets/scripts
folder.
Lua Reference
See the Lua Reference for a list of all the available commands.
Debugging (Mobdebug)
It is possible to use Mobdebug to step through the Lua scripts. I recommend using IntelliJ IDEA with the EmmyLua plugin.
- Install IntelliJ IDEA Community Edition (it's free)
- Download the EmmyLua plugin
- Open your folder that contains your Lua scripts
- Start the
Lua Remote(Mobdebug)
run configuration, it should be listening on port8172
- Launch your server. The debugger should now connect to your listener, you can set breakpoints, step through the code and see the stack trace and variables.
Enabling debugger after starting server
For production servers it can be useful to have the debugger disabled by default but still have the option to enable it if we need it. This can be achieved by running this command in chat:
/lua dofile("scripts/modules/debugger.lua")
By default, the debugger is only enabled if the server is started in dev
mode.
Socket (LuaSocket)
We also have support for the LuaSocket library (https://lunarmodules.github.io/luasocket/) through https://github.com/AlexanderSchuetz97/luajsocket. This can be used for socket connections through Lua.
JavaScript Scripting
We have JS scripting support using RhinoJS.
Note: It is not well supported yet since the Lua specific API's are not available yet.
Usage:
-- gamemode.lua
Game:log("Hello, world!")
// gamemode.js
Game.log("Hello, world!")
See sandbox.js
for an example.
Lua Cheat Sheet
A bunch of useful commands you can use as a reference.
Each command is prepended by /lua
so you can quickly copy the command and invoke it in the in-game chat while playing.
-- Useful commands:
-- Moderator Guide
-- If the server is broken and you can't join to restart the server,
-- connect to the server like this: https://lurkers.io/?command=restartserver
-- Requires mod privileges. Supports any command.
-- Moderator tools to kick / ban / mute players.
--
--`SHIFT+RMB` on a player = open context menu
--`RMB` on a player in scoreboard = open context menu
-- Kick someone
/kick Player123
-- Ban someone for 2 hours
/ban Player123 2
-- Reloads bans from the filesystem
/updatebans
-- Unban player by nickname
/unban Player123
-- Kill a player
/kill Player123
-- Mute a player (shadowmute)
/mute Player123
/unmute Player123
-- Add / remove player roles
-- * `dev` - has all permissions
-- * `mod` - has moderator permissions
-- * `sup` - has basic moderation permissions
/addrole {player} {role}
/removerole {player} {role}
-- Suicide
/suicide
-- give 20 saplings to plant when we run out of wood on the map
/give birchsapling 20
-- Restart server (ONLY USE IF SERVER IS BROKEN / FROZEN!!)
/restartserver
-- Schedule server restart
/schedulerestart 60 "Restarting in 60 seconds"
-- Set server to shut down automatically when it becomes empty and hide from server list
/set io.lurkers.game.Constants autoRestartWhenEmpty true
/set io.lurkers.server.GameServerHeadless isPrivate true
--- alternatively, restart the server when match ends
/lua function nextMap() Game:runCommand("schedulerestart 10 \"Scheduled update.\"") end
-- Change variables and sync it with clients
/set io.lurkers.game.Constants gameSpeedMultiplier 0.5 true
/set io.lurkers.game.Constants lightingEnabled true true
/set io.lurkers.game.Constants maxZoomLevelPlaying 4 true
/set io.lurkers.server.Server maxPeers 48 false
-- Lua commands
-- Disable voting
/lua Game:updateConfigs({
votingEnabled = "false",
})
-- Disable npc auto spawning
/lua Game:updateConfigs({autoSpawningEnabled = "false"})
-- Log your position
/lua Game:addMessage(LuaEntity:getPlayer():getPosition())
-- Teleport your player to another random player
/lua LuaEntity:getPlayer():setPosition(Peer:getRandomPeer():getPlayer():getPosition())
-- Teleport your player to an entity by ID
/lua LuaEntity:getPlayer():setPosition(LuaEntity:getEntityById(1752174493):getPosition())
-- Spawn zombie at your position
/lua LuaEntity:spawnPhysicalEntity("Zombie", LuaEntity:getPlayer():getPosition())
-- Spawn human with base AI at your position
/lua
human = LuaEntity:spawnPhysicalEntity("Human", LuaEntity:getPlayer():getPosition())
LuaEntity:setBaseAI(human)
-- Various AI movement commands
/lua human.inputController:move(Keys.A) -- move left
/lua human.inputController:move(Keys.D) -- move right
/lua human.inputController:move(Keys.W) -- move up
/lua human.inputController:move(Keys.S) -- move down
/lua human.inputController:moveTowards(LuaEntity:getPlayer())
/lua human.inputController:moveAwayFrom(LuaEntity:getPlayer())
/lua human.inputController:moveTowardsPosition(Vector2:new())
/lua human.inputController:moveAwayFromPosition(Vector2:new())
/lua human.inputController:stop()
-- Spawn a vehicle at your position (and configure physics first)
/set io.lurkers.game.Constants tickDuration 16 true
/set io.lurkers.game.Constants timeStep 0.016 true
/set io.lurkers.game.Constants velocityIterations 16 true
/set io.lurkers.game.Constants positionIterations 19 true
/lua LuaEntity:spawnPhysicalEntity("Vehicle", LuaEntity:getPlayer():getPosition():add(0, 4))
-- Spawn marker at your position
/lua LuaEntity:spawnPhysicalEntity("Marker", LuaEntity:getPlayer():getPosition())
-- Spawn 100 zombies at your position
/lua for i = 1, 100 do LuaEntity:spawnPhysicalEntity("Zombie", LuaEntity:getPlayer():getPosition()) end
-- Spawn 20 entities, 5 per second at your position
/lua plr=LuaEntity:getPlayer(); for i = 1, 20 do
Timer:startTimer(function() LuaEntity:spawnPhysicalEntity("Human", plr:getPosition()) end, i/5.0)
end
-- Spawn an armed NPC army with zombie AI
/lua
local plr = LuaEntity:getPlayer()
Teams:create("Raiders");
Timer:startTimer(function()
local spawnPosition = Vector2:new()
spawnPosition:set(plr:getPosition())
spawnPosition.x = spawnPosition.x + 20 + math.random(40)
spawnPosition.y = Level:getAutogeneratorSurface(spawnPosition.x, 3).y
local inventories = {
{ { type = "StoneAxe", quantity = 1 } },
{ { type = "Shotgun", quantity = 9999 } },
{ { type = "MachineGun", quantity = 9999 } },
{ { type = "Rifle", quantity = 9999 } }
}
local inventory = inventories[math.random(#inventories)]
local living = LuaEntity:prepareNewPhysicalEntity("Human", spawnPosition, inventory)
local names = {"John", "Jane", "Mike", "Sarah", "Alex", "Emily", "Tom", "Lisa", "Chris", "Anna"}
living:setNickname(names[math.random(#names)])
living:setTeam(Teams:get("Raiders"))
living:randomiseTextureIndex(10)
LuaEntity:setZombieAI(living)
living:register()
end, 1, 1, 10)
-- Spawn a humanoid trader
/lua
local plr = LuaEntity:getPlayer()
local spawnPosition = Vector2:new()
spawnPosition:set(plr:getPosition())
local inventory = {
{ type = "Wheel", quantity = 1 },
{ type = "Vehicle", quantity = 1 },
}
local living = LuaEntity:prepareNewPhysicalEntity("Trader", spawnPosition, inventory)
local names = {"Croy"}
--[[local names = {"Croy", "John", "Jane", "Mike", "Sarah", "Alex", "Emily", "Tom", "Lisa", "Chris", "Anna"}]]
living:setNickname(names[math.random(#names)] .. " The Mechanic")
--[[living:setNickname(names[math.random(#names)] .. " The Trader")]]
living:setHealth(400)
living:setTextureIndex(35)
LuaEntity:setBaseAI(living)
living:register()
local timer = Timer:startTimer(function()
if math.random(0, 1) == 1 then return end
local chatPrompts = {
"Only the finest wares!",
"Guaranteed return policy if you are not satisfied!",
"My vehicles have a 100% flawless track record!",
}
living:showEmojiChat(chatPrompts[math.random(#chatPrompts)])
end, 4, 90, -2, "traderChat")
LuaEntity:addDisposeListener(living, function()
timer:cancel()
end)
-- Spawn 20 zombies with AI on Zombies team
/lua Teams:create("Zombies"); plr=LuaEntity:getPlayer(); for i = 1, 20 do
Timer:startTimer(function()
zombie = LuaEntity:spawnPhysicalEntity("Zombie", plr:getPosition())
zombie:setTeam(Teams:get("Zombies"))
LuaEntity:setZombieAI(zombie)
end, i/5.0)
end
-- Spawn 5 fast zombies with AI on your team
/lua plr=LuaEntity:getPlayer(); for i = 1, 5 do
Timer:startTimer(function()
zombie = LuaEntity:spawnPhysicalEntity("FastZombie", plr:getPosition())
zombie:setTeam(plr:getTeam())
LuaEntity:setZombieAI(zombie)
end, i/5.0)
end
-- Give everyone bazookas! >:D
/lua
Game:addAnnouncement("[#00ff00ff]Free bazookas!", false)
peers = Peer:getPeers()
for i=0,peers.size-1 do
living = peers:get(i):getLiving()
if living ~= nil then
luaEntity = LuaEntity:getEntityById(living:getId())
luaEntity:giveItem("Bazooka", 1)
luaEntity:giveItem("Rocket", 20)
end
end
-- Event: Spawn 4 iron blocks at center of bedwars map every 60 seconds!
/lua
Timer:startTimer(function()
Game:addAnnouncement("[#ee55aaff]Free resources in center!", false)
Level:setBlocks("IronBlock", 15, 14, 1, 1)
end, 60, 60, 10)
-- Override start inventory
/lua
function getHumanStartInventory()
local inventory = {
{
type = "Shotgun",
quantity = 6
},
{
type = "ShotgunAmmo",
quantity = 30
}
}
return inventory
end
-- Give everyone zombies
/lua
peers = Peer:getPeers()
for i=0,peers.size-1 do
living = peers:get(i):getLiving()
luaEntity = LuaEntity:getEntityById(living:getId())
zombie = LuaEntity:spawnPhysicalEntity("Zombie", luaEntity:getPosition())
zombie:setTeam(luaEntity:getTeam())
LuaEntity:setZombieAI(zombie)
end
-- Spawn zombie at 0, 0
/lua LuaEntity:spawnPhysicalEntity("Zombie", Vector2:new())
-- Spawn 10 zombies with AI
/lua for i = 1, 10 do local zombie = LuaEntity:spawnPhysicalEntity('Zombie', LuaEntity:getPlayer():getPosition()); LuaEntity:setZombieAI(zombie) end
-- spawn arrow volley!
/lua
local spawn = Vector2:new()
spawn.x = -20
spawn.y = -186
for i = 1, 20 do
spawn.x = spawn.x + 2
spawn.y = spawn.y + 3
local entity = LuaEntity:prepareNewPhysicalEntity(
"Arrow",
spawn,
{ { type = "Coin", quantity = 1 } }
)
entity.speed = 20 + math.random(20)
entity.angle = 250 + math.random(30)
entity:register()
end
-- spawn grenade at your position every 5 seconds
/lua
local spawn = Vector2:new()
spawn.x = LuaEntity:getPlayer():getPosition().x
spawn.y = LuaEntity:getPlayer():getPosition().y
Timer:startTimer(function()
local entity = LuaEntity:prepareNewPhysicalEntity(
"Grenade",
spawn
)
entity.speed = 0
entity.angle = 180
entity:register()
end, 1, 5, 9999999)
-- spawn grenade at your position
/lua
local spawn = Vector2:new()
spawn.x = LuaEntity:getPlayer():getPosition().x
spawn.y = LuaEntity:getPlayer():getPosition().y
local entity = LuaEntity:prepareNewPhysicalEntity(
"Grenade",
spawn
)
entity.speed = 0
entity.angle = 180
entity:register()
-- Spawn bergobrine?
/lua
local living = LuaEntity:prepareNewPhysicalEntity(
"Bergobrine",
LuaEntity:getPlayer():getPosition(),
{ { type = "ObsidianAxe", quantity = 1 }, { type = "Awaystone", quantity = 1 } }
)
living:setTextureIndex(32)
LuaEntity:setAI(living, "BergobrineAI")
living:register()
-- Spawn a sheep with AI
/lua for i = 1, 1 do local entity = LuaEntity:spawnPhysicalEntity('Sheep', LuaEntity:getPlayer():getPosition()); LuaEntity:setSheepAI(entity) end
-- Spawn a group of animals
/lua for i = 1, 1 do
Teams:create("Gaia")
local spawnAnimal = function(type)
local pos = Vector2:new()
pos.x = LuaEntity:getPlayer():getPosition().x - 20 + math.random(40)
pos.y = LuaEntity:getPlayer():getPosition().y + 10
local entity = LuaEntity:spawnPhysicalEntity(type, pos);
LuaEntity:setAI(entity, "AnimalAI")
entity:setTeam(Teams:get("Gaia"))
end
spawnAnimal("Boar")
spawnAnimal("Wolf")
spawnAnimal("Fox")
spawnAnimal("Deer")
end
/lua for i = 1, 1 do
local spawnAnimal = function(type)
local pos = Vector2:new()
pos.x = LuaEntity:getPlayer():getPosition().x - 20 + math.random(40)
pos.y = LuaEntity:getPlayer():getPosition().y + 10
local entity = LuaEntity:spawnPhysicalEntity(type, pos);
LuaEntity:setAI(entity, "AnimalAI")
end
spawnAnimal("Boar")
spawnAnimal("Wolf")
spawnAnimal("Fox")
end
-- Spawn a fish with AI
/lua for i = 1, 1 do local entity = LuaEntity:spawnPhysicalEntity('Fish', LuaEntity:getPlayer():getPosition()); LuaEntity:setAI(entity, "FishAI") end
-- Save the level
/lua Level:save()
-- Kill your player
/lua LuaEntity:die(LuaEntity:getPlayer())
-- Kill entity by ID
/lua LuaEntity:die(LuaEntity:getEntityById(699548541))
-- Give coins to your player
/lua LuaEntity:getPlayer():giveItem("Coin", 1000)
-- Give 100 birch sapling to your player (convenience command)
/give BirchSapling
-- Give ores and wood to your player
/lua LuaEntity:getPlayer():giveItem("CoalBlock", 1000); LuaEntity:getPlayer():giveItem("IronBlock", 1000); LuaEntity:getPlayer():giveItem("GoldBlock", 1000); LuaEntity:getPlayer():giveItem("MithrilBlock", 1000); LuaEntity:getPlayer():giveItem("WoodBlock", 1000);
-- Create and join team
Teams:create("Elite")
LuaEntity:getPlayer():getPeer():setTeam(Teams:get("Elite"))
-- Spawn moving platform
/lua local player = LuaEntity:getPlayer()
local position = player:getPosition()
local x = position.x
local y = position.y - 2
local xOffset = -1
for i = 1, 20 do
Timer:startTimer(function()
x = x + xOffset
Level:setBlocks("DirtBlock", x, y, 3, 0)
Level:setBlocks("AirBlock", x + 3, y, 2, 0)
end, i/2.0)
end
-- remove block at your position
/lua local player = LuaEntity:getPlayer()
local position = player:getPosition()
local x = math.floor(position.x)
local y = math.floor(position.y)
Level:setBlocks("AirBlock", x, y, 0, 0)
-- Spawn bedwars bridge
/lua
local x = 17
local y = 10
local width = 60
local height = 4
Level:setBlocks("BrickBackgroundBlock", x - (width/2), y, width, height)
Level:setBlocks("SteelBlock", x - (width/2), y, width, 0)
Level:setBlocks("SteelBlock", x - (width/2), y+height, width, 0)
-- Restart map with timer
/lua Timer:startCounterTimer(function() Game:addMessage("Restarting map, hold on..."); Timer:cancelAllTimers(); Level:restart(); end, 10, 0, 0, "Changing map in")
-- Restart the level
/lua Level:restart()
-- Spawn a LLM AI bot that interfaces with a LM Studio inference server
/lua local aiBot = require("scripts/modules/ai_bot"); aiBot.spawn();
/lua local aiBot = require("scripts/modules/ai_bot"); aiBot.url="http://localhost:1234/v1/chat/completions"; aiBot.instructions="Respond like you're a programmer"; aiBot.spawn();
ngrok http 1234
/lua local aiBot = require("scripts/modules/ai_bot"); aiBot.url="http://e76d-84-208-127-40.ngrok-free.app/v1/chat/completions";
/lua local aiBot = require("scripts/modules/ai_bot"); aiBot.instructions = "Enter instructions here"
-- Change gamemode
/lua changeScript("bedwars", "maps/bedwars")
/lua changeScript("bedwars_map_rotation", "maps/bedwars")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaBrickCity")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaDeadPlanet")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaDuelPyramid")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaFallenStar")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaGoldArena")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaGoldenHeart")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaRatRace")
/lua changeScript("bedwars_map_rotation", "maps/Circle2")
/lua changeScript("bedwars_map_rotation", "maps/abandoned_city_bobbius-Aincrad")
/lua changeScript("bedwars_map_rotation", "maps/AstroidField_sniiper-Aincrad")
/lua changeScript("bedwars_map_rotation", "maps/Dogcat_sniiper-Aincrad")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaForgottenWorld_parasite-Aincrad")
/lua changeScript("bedwars_map_rotation", "maps/ravine_sniiper-Aincrad")
/lua changeScript("bedwars_map_rotation", "maps/BedwarsParaMagmaVolcano_parasite-Aincrad")
/lua nextMap()
/lua changeScript("zombie_survival", "maps/zombie_survival")
/lua changeScript("zombie_survival_new", "maps/zombie_survival")
/lua changeScript("sandbox", "maps/sandbox")
/lua changeScript("survival", "maps/survival")
/lua changeScript("survival_persistent", "maps/survival_persistent")
/lua changeScript("team_deathmatch", "maps/team_deathmatch")
/lua changeScript("capture_the_flag", "maps/capture_the_flag")
/lua changeScript("battle_royale", "maps/battle_royale")
/lua changeScript("deathmatch", "maps/deathmatch")
/lua changeScript("zombie_survival_player_only", "maps/zombie_survival")
-- Set the time to night time
/lua Level:getDayNightCycle():setHour(21)
-- Set the day night cycle time progression
/lua Level:getDayNightCycle():setTimeProgressionMultiplier(0)
-- Kick a player
/kick Player
-- Remove all blocks by type
/lua Level:removeAllBlocksByType("StoneBlock")
-- Save the map to a PNG image server-side (requires DEV role)
/savemapscreenshot -- no lighting, current chunks only
/savemapscreenshot true -- render lighting, current chunks only
/savemapscreenshot false true -- no lighting, load all chunks
/savemapscreenshot true true -- render lighting, load all chunks
/savemapscreenshot true true -1024 -512 1024 256 -- render lighting, load all chunks in AABB
-- Convert an image from a URL (or local file) to blocks
/imagetoblocks "https://media.discordapp.net/attachments/1061179499955355709/1151742565394153472/pixil-frame-0_27_fix.png?ex=6555a059&is=65432b59&hm=ee432ff4efad4a2a5b9f148016cc7519657e1ca565c1395fc03f6611917e3043&=&width=172&height=172" 0 30
-- Fill chat with random messages
/lua fill_chat = dofile("scripts/utils/fill_chat.lua")
-- Get out of JS script gamemode (lua commands won't work)
/js Level.change("maps/abandoned_city_bobbius-Aincrad", "bedwars_map_rotation.lua")
Modding
Modding support is currently limited.
You can override the internal game assets (images, sounds, json
, scripts etc) from the desktop jar by copying them to the same folder where the jar is located.
The game will check files in the local filesystem before loading internal files.
Note: The directory paths must still match the ones from the internal file system.
Note: Only works in
dev
mode.
If there is enough demand, I may make it possible for servers to sync assets with clients during runtime.
Lua Reference
Map Creation Guide
The below shows you how to create a map for bedwars from scratch:
-- create a new empty map
/lua changeScript("bedwars", "maps/MyMapName")
-- load png (URL's are supported too)
/imagetoblocks "map_structures/maps/BedwarsParaTunnelBuszaldor.png" -32 63
-- place chests, doors
-- TODO (they can be placed manually, just change teams and place the entities)
-- set configs
-- (you can see coordinates by pressing `F3`)
/mapconfig red_spawn_position 45,-28
/mapconfig red_protected_area 42,16,8,8
-- (you can find the entity ID's in the Inspect Tool if you have the `dev` role)
/mapconfig red_bed_id 758118866
/mapconfig blue_spawn_position -15,19
/mapconfig blue_protected_area -22,12,10,10
/mapconfig blue_bed_id 458555685
-- optional: override map size (default 3x3 chunks / 96x96 blocks)
-- you must reload the map to update the map size!
/mapconfig map_chunk_width 5
/mapconfig map_chunk_height 5
-- save map
/savemap maps/MyMapName
Terrain Generation Guide
It is possible to use your own custom terrain generation in your server.
Note: Custom terrain generation is still in early development.
Using a custom terrain generator
To do this, we'll get a copy of the default terrain generator, then set our Lua script to use it.
- Launch a server
- Run this command in chat:
/saveterraingeneratorjson
This will save the JSON file in your server folder. - Open the Lua script for your gamemode.
- Add
Level:setTerrainGeneratorJoiseJSONFile("terrain-generator.json")
somewhere in your Lua script.
That's all, once you reload the map it will use your json config to generate the terrain!
Modifying the terrain generator
The JSON file has several noise generation modules which are linked together to describe the terrain features. They're based on the Joise library.
The resulting values should correspond to block ID's.
Note: There is a terrain visualiser which I might release if there's enough interest. It makes it easier to work on the terrain generation and seeing changes quickly.
Entities
List of available entities.
51 Entities
Name |
---|
Marker |
Flag |
RectanglePhysicalEntity |
Prop |
Vehicle |
Living |
CollapsingBlock |
Nail |
Item |
ItemSpawn |
Projectile |
Ladder |
Shop |
Chest |
GunTurret |
Door |
Tunnel |
Zombie |
Animal |
Human |
Pellet |
Snowball |
Bullet |
Arrow |
Explosive |
SupplyCrate |
TrapDoor |
IronDoor |
CrabZombie |
FastZombie |
BigZombie |
Wolf |
Fox |
Fish |
Deer |
Boar |
Sheep |
Trader |
Bergobrine |
ThrowableWeapon |
Grenade |
IronTrapDoor |
ExplosiveZombie |
DaddyZombie |
GrenadeLauncherGrenade |
TNT |
Rocket |
PumpkinLauncherGrenade |
HomingMissile |
Blocks
List of available blocks.
57 Blocks
ID | Name | Image | Color |
---|---|---|---|
44 | SandBlock | feee9fff | |
1 | DirtBlock | 85480aff | |
46 | IceBlock | b7d9ffff | |
0 | AirBlock | 87ceebff | |
2 | StoneBlock | 999d97ff | |
22 | LadderBlock | 97865dff | |
-1 | TreeLeaves | 2f7b32ff | |
-1 | BackgroundBlock | 1c1c1dff | |
-1 | SurfaceBlock | ffffffff | |
-1 | TreeTrunk | 7b3c14ff | |
26 | StructureBlock | 767676ff | |
20 | WoodBlock | aa701fff | |
45 | SnowBlock | fafefaff | |
33 | OutsideMapBlock | 123456ff | |
41 | GlowStone | 7efff4ff | |
38 | MagmaBlock | ea4202ff | |
-1 | OreBlock | 999d97ff | |
16 | BrickBlock | 444444ff | |
35 | VineBlock | 30882bff | |
47 | SpiderwebBlock | f3f2f0ff | |
32 | CreepBlock | a02e2bff | |
7 | BirchLeaves | 2f7b32ff | |
3 | DirtBackgroundBlock | 271e03ff | |
4 | StoneBackgroundBlock | 2f352dff | |
17 | BrickBackgroundBlock | 222222ff | |
21 | WoodBackgroundBlock | 47200bff | |
39 | GlowBush | e778f9ff | |
8 | Grass | 639d00ff | |
10 | WaterBlock | 365cabff | |
-1 | TreeSapling | c6843cff | |
9 | Snow | d7ded8ff | |
-1 | SpikeBlock | 888899ff | |
-1 | FarmingBlock | c7a231ff | |
43 | OakTrunk | a1422fff | |
6 | BirchTrunk | 7b3c14ff | |
24 | TorchBlock | edbb4eff | |
27 | PlatformBlock | aa621fff | |
14 | MithrilBlock | 23a7b9ff | |
12 | CoalBlock | 1c1e08ff | |
11 | IronBlock | 8c7054ff | |
37 | ObsidianBlock | 593860ff | |
13 | GoldBlock | fcd83bff | |
31 | BedrockBlock | 353535ff | |
30 | SteelBlock | fafafaff | |
-1 | StairBlock | 4a4848ff | |
40 | Fern | 33660dff | |
34 | LavaBlock | f65c12ff | |
5 | BirchSapling | c6843cff | |
42 | OakSapling | c6843cff | |
28 | WoodSpikeBlock | aa5a1aff | |
29 | IronSpikeBlock | 888899ff | |
15 | WheatBlock | c7a231ff | |
23 | BerryBushBlock | 840b0bff | |
18 | StairBrickBlock | 4a4848ff | |
19 | StairWoodBlock | 9b6518ff | |
25 | ShingleBlock | 3367a1ff | |
36 | PumpkinSeedBlock | a34c0bff |
Terms and Conditions
Notes
- The game is still in development and is not a finished product!
- A premium version of the game can now be purchased at an early access discount.
- Please view it in-game for the list of what features it includes.
- Discounts may change over time.
- Game servers within the game operate independently as a 3rd party service and may be moderated by community members.
- Server moderators and support staff may ban, kick, mute players at their discretion.
What you can do:
- You are allowed to run a custom server on your own computer and have other people connect and play through it as long as it does not break the Terms and Conditions.
- You are allowed to change the Lua scripts for your custom server.
What you can not do:
- Do not reverse engineer the client or server software without our explicit permission.
- Do not distribute the game anywhere without our explicit permission.
- You are not allowed to alter account or payment verification without our explicit permission.
Other
Estimates for new updates may change, we don't make any guarantees in terms of future development. Any legal questions that are not answered on this page, either don't do it or ask on Discord about it first.
Full Terms and Conditions
1. Introduction
By using our game servers, you acknowledge and agree to these Terms of Service (ToS) and all applicable laws and regulations. If you do not agree to these ToS, you may not use our game services.
2. Refunds
We do not guarantee refunds to players for any reason, and we may reject refund requests at our discretion. Please note that any purchases made through our game services are final, and we will not issue refunds unless required by applicable law.
3. Account Ownership and Data Collection
Players acknowledge and agree that their account and all data on it belong to us. We may collect, use, and store their personal data in accordance with applicable privacy laws.
4. Code of Conduct
Players must comply with our code of conduct and not engage in any conduct that violates these ToS or any applicable laws or regulations. Prohibited conduct includes, but is not limited to, racism, hacking, exploiting, cheating, impersonation and abusing other players or our game services.
5. Termination of Game Services
Players may use our game services for free, or purchase a license to use the full version of our game (premium version), and/or make in-app purchases for additional game content, cosmetic updates, user-generated content, and more. We may terminate the game service at any time, without notice, for any reason or no reason, in our sole discretion. We have no obligation to provide support, updates, or new versions of the game.
6. Game Content
All game content, including but not limited to graphics, audio, and code, is owned by us and may not be reproduced, distributed, or used without our prior written consent.
7. Intellectual Property
All trademarks, service marks, logos, and other intellectual property used in connection with our game services are owned by us or our licensors and may not be used without our prior written consent.
8. In-App Purchases
Our game services may offer in-app purchases for additional game content, cosmetic updates, user-generated content, and more. By making an in-app purchase, players agree to pay the advertised price and authorize us to charge their selected payment method for the purchase. In-app purchases are non-transferable and may only be used by the account associated with the purchase, unless in-app purchase item trading is supported by our game services explicitly.
9. Indemnification
Players agree to indemnify, defend, and hold us harmless from any and all claims, damages, expenses, or other losses arising from their use of our game services, their in-app purchases, or their breach of these ToS.
10. Disclaimer of Warranties
Our game services are provided "as is" and without warranty of any kind, either express or implied. We disclaim all warranties, including but not limited to, warranties of merchantability, fitness for a particular purpose, and non-infringement.
11. Limitation of Liability
In no event shall we be liable to any player for any direct, indirect, special, incidental, or consequential damages arising from their use of our game services or their breach of these ToS.
12. Server Software
By using our game servers, you acknowledge and agree that any server software provided to you is licensed to you by us and is for your personal use only. We may revoke your license to use the server software at any time, without notice, for any reason or no reason, in our sole discretion. However, subject to our prior written approval, you may use the server software for monetization purposes or integrate it with our back-end platform system. Any such use must comply with these ToS and all applicable laws, and we reserve the right to revoke your approval at any time, without notice, for any reason or no reason, in our sole discretion.
Privacy Policy
Privacy Policy for lurkers.io
At lurkers.io, accessible from lurkers.io, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by lurkers.io and how we use it.
If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.
This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in lurkers.io. This policy is not applicable to any information collected offline or via channels other than this website.
Consent
By using our website, you hereby consent to our Privacy Policy and agree to its terms.
Information we collect
The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the point we ask you to provide your personal information.
If you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of the message and/or attachments you may send us, and any other information you may choose to provide.
When you register for an Account, we may ask for your contact information, including items such as name, company name, address, email address, and telephone number.
How we use your information
We use the information we collect in various ways, including to:
Provide, operate, and maintain our website Improve, personalize, and expand our website Understand and analyze how you use our website Develop new products, services, features, and functionality Communicate with you, either directly or through one of our partners, including for customer service, to provide you with updates and other information relating to the website, and for marketing and promotional purposes Send you emails Find and prevent fraud Log Files lurkers.io follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information.
Cookies and Web Beacons
Like any other website, lurkers.io uses "cookies". These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information.
Google DoubleClick DART Cookie
Google is one of a third-party vendor on our site. It also uses cookies, known as DART cookies, to serve ads to our site visitors based upon their visit to www.website.com and other sites on the internet. However, visitors may choose to decline the use of DART cookies by visiting the Google ad and content network Privacy Policy at the following URL β https://policies.google.com/technologies/ads
Our Advertising Partners
Some of advertisers on our site may use cookies and web beacons. Our advertising partners are listed below. Each of our advertising partners has their own Privacy Policy for their policies on user data. For easier access, we hyperlinked to their Privacy Policies below.
https://policies.google.com/technologies/ads
Advertising Partners Privacy Policies
You may consult this list to find the Privacy Policy for each of the advertising partners of lurkers.io.
Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on lurkers.io, which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.
Note that lurkers.io has no access to or control over these cookies that are used by third-party advertisers.
Third Party Privacy Policies
lurkers.io's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.
You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.
CCPA Privacy Rights (Do Not Sell My Personal Information)
Under the CCPA, among other rights, California consumers have the right to:
Request that a business that collects a consumer's personal data disclose the categories and specific pieces of personal data that a business has collected about consumers.
Request that a business delete any personal data about the consumer that a business has collected.
Request that a business that sells a consumer's personal data, not sell the consumer's personal data.
If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us.
GDPR Data Protection Rights
We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following:
The right to access β You have the right to request copies of your personal data. We may charge you a small fee for this service.
The right to rectification β You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete.
The right to erasure β You have the right to request that we erase your personal data, under certain conditions.
The right to restrict processing β You have the right to request that we restrict the processing of your personal data, under certain conditions.
The right to object to processing β You have the right to object to our processing of your personal data, under certain conditions.
The right to data portability β You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions.
If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us.
Children's Information
Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.
lurkers.io does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.
Changes to This Privacy Policy
We may update our Privacy Policy from time to time. Thus, we advise you to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.
Contact Us
If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us.
Contact Us
If you have questions, you can use the form below:
You can also message us on Discord.
Credits
lurkers.io is developed by
- bergice - Game design, programming, art, marketing
Thanks to / Credits
- The libGDX Discord community
- https://github.com/raeleus/Particle-Park
- Freesound (Music Technology Group)
- roscoetoon -- https://freesound.org/s/26388/
- Contributors
- Parasite (Art)
- Will Tice - https://untiedgames.itch.io/five-free-pixel-explosions
lurkers.io uses the following technologies
- Java (Oracle)
- libGDX by a whole bunch of talented people.
- Lua
- AWS (Amazon)
- PlayFab (Microsoft)