diff --git a/README.md b/README.md index 394c2ae..e0107e1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +# Notice: Moved Out of Cloud + +New Live Project At: https://github.com/kaansoral/adventureland_mongodb + +Google Cloud became a joke with constant 500 errors that are not even propagated to the services - likely by design as reporting these issues result in "won't fix" responses. Performance was abysmal, costs were astronomical. The time to free Adventure Land was long overdue. With the switch to MongoDB, Adventure Land is free from any external service, no more random disconnects due to Cloudflare fluctuations or instance restarts either. Just snappy gameplay in an environment that can be managed eternally. + + # Adventure Land - The Open Source CODE MMORPG https://adventure.land diff --git a/config.py b/config.py index 3fc12c3..e812e9f 100644 --- a/config.py +++ b/config.py @@ -114,22 +114,19 @@ if is_production: #maps["desertland"]["key"]="jayson_desertland_copy" pass -game_version=835 +game_version=837 SALES=4+5+388+5101+125/20 #donation+manual+macos+steam+sales update_notes=[ "Valentine's Day Event!", "Lunar New Year Event!", - "Last Update [2nd of February]", - "PR: fix monster dimensions #211", - "PR: Fix miss so that it uses the value from the attack, instead of the attacker #220", - "PR: Update reject_deferred calls to include place for death and disappear events #227", - "PR: Update the two scaling healing skills to accurately reflect their output #223", - "PR: Add flag for implicit targets, and the implicit targets functionality #225", - "PR: Pass the target parameter to consume_mp for more skills #222", -] -next_notes=[ + "Last Update [12th of February]", "5X Co-op contribution points for home server characters", "Overdrop logic for co-op events", + "Smoothed coop contributions", + "Event update, new drops!", +] +next_notes=[ + ] ip_to_subdomain={ #IMPORTANT: SPECIAL PAGE RULES ARE NEEDED: https://dash.cloudflare.com/b6f5a13bded5fdd273e4a1cd3777162d/adventure.land/page-rules - uss1 / eus1 was best "35.187.255.184":"asia1", @@ -142,6 +139,7 @@ ip_to_subdomain={ #IMPORTANT: SPECIAL PAGE RULES ARE NEEDED: https://dash.cloudf "34.67.187.11":"uspvp", "195.201.181.245":"eud1", "158.69.23.127":"usd1", + "195.201.105.60":"euw1", } HTTPS_MODE=True #IMPORTANT: converts server IP's to subdomain urls at create_server_api [17/11/18] always_amazon_ses=True diff --git a/design/dimensions.py b/design/dimensions.py index 4136a22..b9adf7d 100644 --- a/design/dimensions.py +++ b/design/dimensions.py @@ -756,6 +756,11 @@ positions={ "greenenvelopev2":["custom",5,3], + #chinese new year 2026 + "brownenvelope":["custom",4,6], + "horsecapeg":["custom",6,6], + "horsecape":["custom",5,6], + #valentines "solitaire":["",5,16], diff --git a/design/drops.py b/design/drops.py index d4f0d6a..2b29cf6 100644 --- a/design/drops.py +++ b/design/drops.py @@ -267,6 +267,7 @@ drops={ ], "pinkgoblin":[ [1.0/24000,"bkey"], + [1.0/10,"horsecape"], ], "spider":[[0.001,"spidersilk"],[1.0/5000,"offeringp"],[1.0/10000,"spiderkey"]], "tinyp":[[1.0/1,"offeringp"]], @@ -372,6 +373,7 @@ drops={ [0.5,"lmace"], [2.0/4/1000/1000,"cxjar",1,"hat400"], [2.0/6/1000/1000,"chrysalis0"], + [1,"horsecapeg"], ], "ent":[ [1,"essenceofnature"], @@ -814,6 +816,7 @@ drops={ [1,"oxhelmet",None,None,"lucky"], [0.1,"cdragon",None,None,"lucky"], [0.1,"snakeoil"], #2025 + [0.3,"horsecapeg"], ], "eastereggs":[ [1,"egg0"], diff --git a/design/items.py b/design/items.py index 7ca333e..5e6a4f3 100644 --- a/design/items.py +++ b/design/items.py @@ -84,6 +84,40 @@ items={ "grades":[0,8], "g":20000, }, + "horsecape":{ + "type":"cape", + "skin":"horsecape", + "armor":10, + "stat":5, + "speed":1, + "name":"Horse Leather Cape", + "upgrade":{ + "armor":2, + "resistance":2, + "stat":0.10, + "speed":0.1, + }, + "grades":[0,5], + "g":1600000, + }, + "horsecapeg":{ + "type":"cape", + "skin":"horsecapeg", + "armor":10, + "gold":3, + "stat":5, + "speed":1, + "name":"Horse Leather Cape", + "upgrade":{ + "armor":2, + "resistance":2, + "stat":0.10, + "speed":0.1, + "gold":0.5, + }, + "grades":[0,0], + "g":1600000, + }, "fcape":{ "type":"cape", "skin":"fcape", diff --git a/design/precomputed.py b/design/precomputed.py index eba2068..4a566b5 100644 --- a/design/precomputed.py +++ b/design/precomputed.py @@ -1,2 +1,2 @@ -# Mon Feb 02 2026 18:13:18 GMT+0300 +# 2026-02-16T12:43:04.260Z images={"/images/tiles/characters/ninja_turtles.png":{"height":144,"width":312,"type":"png"},"/images/cosmetics/makeup/makeup1.png":{"height":120,"width":1134,"type":"png"},"/images/cosmetics/hairdo/bwhair.png":{"height":120,"width":27,"type":"png"},"/images/cosmetics/beardo/burningeyes1_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/beardo/burningeyes2_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/hats/bathat_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/hats/gcandle_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/hats/halo_anim.png":{"height":120,"width":81,"type":"png"},"/images/cosmetics/makeup/kunique.png":{"height":120,"width":108,"type":"png"},"/images/cosmetics/skins/mbw.png":{"height":144,"width":81,"type":"png"},"/images/cosmetics/armors/mabw.png":{"height":144,"width":162,"type":"png"},"/images/cosmetics/accessories/kglasses.png":{"height":120,"width":108,"type":"png"},"/images/cosmetics/gravestones/gravestone.png":{"height":64,"width":160,"type":"png"},"/images/tiles/monsters/deep_sea_king.png":{"height":320,"width":318,"type":"png"},"/images/tiles/characters/adversaries.png":{"height":288,"width":324,"type":"png"},"/images/tiles/characters/angel_wingless.png":{"height":288,"width":456,"type":"png"},"/images/tiles/characters/winners_jpa.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/winners_jpb.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/sheet_winnersa.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/sheet_winnersb.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collection1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collection2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collection3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/collectionx.png":{"height":288,"width":456,"type":"png"},"/images/tiles/monsters/snowman.png":{"height":144,"width":76,"type":"png"},"/images/tiles/monsters/Dragold.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/blackscorpion.png":{"height":256,"width":176,"type":"png"},"/images/tiles/monsters/coboldProto.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/liger_x.png":{"height":184,"width":150,"type":"png"},"/images/tiles/monsters/tiger.png":{"height":184,"width":150,"type":"png"},"/images/tiles/monsters/slenderman.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/frankenstein.png":{"height":144,"width":76,"type":"png"},"/images/tiles/characters/custom1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/custom2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/custom3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/others/jsonX.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/mecha_gnome.png":{"height":144,"width":78,"type":"png"},"/images/tiles/monsters/harpy_b_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/harpy_b_fly_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/harpy_a_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/harpy_a_fly_1.png":{"height":212,"width":156,"type":"png"},"/images/tiles/characters/others/ship2.png":{"height":64,"width":201,"type":"png"},"/images/tiles/characters/others/newyear_tree.png":{"height":64,"width":144,"type":"png"},"/images/tiles/characters/bonus1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/military2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/military3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/knights.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara4.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara6.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara7.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/chara8.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/automatron2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc3.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc4.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc5.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/npc6.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/dwarf2.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/tristone_m.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/tristone_f.png":{"height":288,"width":312,"type":"png"},"/images/tiles/characters/mystics.png":{"height":144,"width":312,"type":"png"},"/images/tiles/monsters/creatures1.png":{"height":144,"width":312,"type":"png"},"/images/tiles/monsters/creatures2.png":{"height":424,"width":624,"type":"png"},"/images/tiles/monsters/jrpumpkins.png":{"height":144,"width":155,"type":"png"},"/images/tiles/characters/chara5.png":{"height":288,"width":312,"type":"png"},"/images/tiles/items/chests.png":{"height":288,"width":504,"type":"png"},"/images/tiles/characters/animationc.png":{"height":400,"width":564,"type":"png"},"/images/tiles/characters/animation1i.png":{"height":400,"width":564,"type":"png"},"/images/tiles/characters/animation2.png":{"height":400,"width":564,"type":"png"},"/images/tiles/characters/animation3.png":{"height":400,"width":564,"type":"png"},"/images/tiles/monsters/elemental.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/monster_dknight1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_dknight2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/fairies.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/monster_bird1.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_bird2.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_bird3.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_boar.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_cacto.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/rudolphi.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_elk.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_golem1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_golem2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_lich.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_lizardman1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_lizardman2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/stompy3.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_minotaur.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_phoenix.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/monster_raptor1.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_raptor2.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/grinch.png":{"height":144,"width":82,"type":"png"},"/images/tiles/monsters/monster_treant.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/monster_wolf1.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/monster_wolf2.png":{"height":264,"width":195,"type":"png"},"/images/tiles/monsters/json.png":{"height":228,"width":183,"type":"png"},"/images/tiles/monsters/custom1.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/custom2.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/goos.png":{"height":256,"width":360,"type":"png"},"/images/tiles/monsters/monster1.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/animals1.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/animals2.png":{"height":288,"width":504,"type":"png"},"/images/tiles/monsters/birds1_modded.png":{"height":288,"width":504,"type":"png"},"/images/tiles/monsters/goblinos.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/goblinkingb.png":{"height":212,"width":156,"type":"png"},"/images/tiles/monsters/monsterc6.png":{"height":512,"width":692,"type":"png"},"/images/tiles/monsters/tinyfairies.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/monsterc2.png":{"height":400,"width":564,"type":"png"},"/images/tiles/monsters/robots.png":{"height":288,"width":372,"type":"png"},"/images/tiles/monsters/mage.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/monster2.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/monster3c.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/monster4.png":{"height":512,"width":720,"type":"png"},"/images/tiles/monsters/vampire2d.png":{"height":288,"width":312,"type":"png"},"/images/tiles/monsters/mr_pumpkin.png":{"height":144,"width":80,"type":"png"},"/images/tiles/monsters/cbee.png":{"height":144,"width":78,"type":"png"},"/images/tiles/monsters/iceGolem.png":{"height":200,"width":141,"type":"png"},"/images/tiles/monsters/green.png":{"height":144,"width":80,"type":"png"},"/images/tiles/monsters/robots_walkin_B_1.png":{"height":288,"width":372,"type":"png"},"/images/tiles/monsters/dryad_green_1.png":{"height":144,"width":78,"type":"png"},"/images/tiles/monsters/mondinos_1.png":{"height":288,"width":456,"type":"png"},"/images/tiles/monsters/giantspider.png":{"height":384,"width":480,"type":"png"},"/images/sprites/emblems/emblems.png":{"height":96,"width":480,"type":"png"},"/images/cosmetics/skins/sskin1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/skins/mskin1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/skins/lskin1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/sbody1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody3.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody4.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody5.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/mbody6.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/sarmor1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/sarmor2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor1.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor3.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor4.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor5.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor6.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor7.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor8.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor9.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor10.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor11.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/marmor12.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/armors/larmor1.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/lchar1.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/mchar16.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/schar7.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/xschar2.png":{"height":288,"width":324,"type":"png"},"/images/all_characters/xxschar2.png":{"height":288,"width":324,"type":"png"},"/images/cosmetics/hairdo/hairdo1.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo2.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo3.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo4.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo5.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hairdo/hairdo6.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats1.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats2.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats3.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/hats/hats4.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/wings/wings1.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/wings/wings2.png":{"height":144,"width":128,"type":"png"},"/images/cosmetics/wings/wings3.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/wings/backpacks.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/wings/backpack2.png":{"height":144,"width":185,"type":"png"},"/images/cosmetics/tails/wolftail.png":{"height":144,"width":108,"type":"png"},"/images/cosmetics/tails/wolftail2.png":{"height":144,"width":108,"type":"png"},"/images/cosmetics/tails/wolftail3.png":{"height":144,"width":108,"type":"png"},"/images/cosmetics/makeup/smakeup.png":{"height":120,"width":27,"type":"png"},"/images/cosmetics/makeup/malemakeup.png":{"height":120,"width":378,"type":"png"},"/images/cosmetics/makeup/femalemakeupv2.png":{"height":120,"width":351,"type":"png"},"/images/cosmetics/makeup/fmakeup.png":{"height":120,"width":351,"type":"png"},"/images/cosmetics/accessories/eyeglasses.png":{"height":120,"width":1107,"type":"png"},"/images/cosmetics/beardo/beard1.png":{"height":120,"width":1107,"type":"png"},"/images/cosmetics/beardo/mask1.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/beardo/facemakeup.png":{"height":120,"width":675,"type":"png"},"/images/cosmetics/makeup/male_makeup.png":{"height":120,"width":567,"type":"png"},"/images/cosmetics/makeup/female_makeup.png":{"height":120,"width":621,"type":"png"},"/images/cosmetics/makeup/unisex_makeup.png":{"height":120,"width":648,"type":"png"},"/images/tiles/items/pack_1a.png":{"height":2048,"width":256,"type":"png"},"/images/tiles/items/pack_20vt8.png":{"height":1280,"width":320,"type":"png"},"/images/tiles/items/skills_20v6.png":{"height":260,"width":320,"type":"png"},"/images/tiles/items/custom.png":{"height":180,"width":140,"type":"png"},"/images/tiles/items/community.png":{"height":180,"width":140,"type":"png"},"/images/tiles/map/castle.png":{"height":512,"width":544,"type":"png"},"/images/tiles/map/custom2.png":{"height":560,"width":752,"type":"png"},"/images/tiles/map/custom.png":{"height":480,"width":480,"type":"png"},"/images/tiles/map/custom_a.png":{"height":320,"width":320,"type":"png"},"/images/tiles/map/doors.png":{"height":256,"width":192,"type":"png"},"/images/tiles/map/dungeon.png":{"height":416,"width":912,"type":"png"},"/images/tiles/map/house.png":{"height":1168,"width":1104,"type":"png"},"/images/tiles/map/inside.png":{"height":816,"width":832,"type":"png"},"/images/tiles/map/outside.png":{"height":832,"width":904,"type":"png"},"/images/tiles/map/puzzle.png":{"height":320,"width":336,"type":"png"},"/images/tiles/map/water_updated.png":{"height":1200,"width":704,"type":"png"},"/images/tiles/map/winter.png":{"height":640,"width":912,"type":"png"},"/images/tiles/map/fort.png":{"height":832,"width":656,"type":"png"},"/images/tiles/map/beach_v2.png":{"height":416,"width":576,"type":"png"},"/images/tiles/map/world.png":{"height":288,"width":432,"type":"png"},"/images/tiles/items/stands.png":{"height":144,"width":78,"type":"png"},"/images/tiles/map/new.png":{"height":480,"width":672,"type":"png"},"/images/tiles/map/dark_dimension.png":{"height":336,"width":464,"type":"png"},"/images/tiles/map/jungle.png":{"height":336,"width":496,"type":"png"},"/images/tiles/map/ship.png":{"height":448,"width":864,"type":"png"},"/images/tiles/map/ashlands.png":{"height":336,"width":640,"type":"png"},"/images/tiles/map/ruins.png":{"height":832,"width":704,"type":"png"},"/images/tiles/map/tree.png":{"height":576,"width":544,"type":"png"},"/images/tiles/map/lights.png":{"height":480,"width":640,"type":"png"}} diff --git a/docs/guide/event-lunarnewyear.html b/docs/guide/event-lunarnewyear.html index af119d7..9703c28 100644 --- a/docs/guide/event-lunarnewyear.html +++ b/docs/guide/event-lunarnewyear.html @@ -2,7 +2,7 @@
Lunar New Year on Adventure Land
-
@@ -18,7 +18,7 @@ diff --git a/images/tiles/items/custom.pxd b/images/tiles/items/custom.pxd index f3c8832..3cdb242 100644 Binary files a/images/tiles/items/custom.pxd and b/images/tiles/items/custom.pxd differ diff --git a/js/html.js b/js/html.js index c0b89f6..8b2834a 100644 --- a/js/html.js +++ b/js/html.js @@ -330,7 +330,7 @@ function render_server() if(S.lunarnewyear) { html+="
"; content=true; diff --git a/node/server.js b/node/server.js index 4a46a1f..fe765ff 100644 --- a/node/server.js +++ b/node/server.js @@ -33,7 +33,7 @@ eval("" + fs.readFileSync(variables.functions_path)); eval("" + fs.readFileSync(variables.data_path)); var base_url = variables.base_url; var server_id = "1"; -var server_auth = "123456"; +var server_auth = require("crypto").randomBytes(32).toString("hex"); var server_name = ""; var players = {}; var dc_players = {}; diff --git a/node/server_functions.js b/node/server_functions.js index 6b84115..1d00e2d 100644 --- a/node/server_functions.js +++ b/node/server_functions.js @@ -279,7 +279,7 @@ function sprocess_game_data() { } if (events.lunarnewyear) { - D.drops.maps.global.push([0.00005, "greenenvelope"]); + D.drops.maps.global.push([0.00005, "brownenvelope"]); D.drops.maps.global.push([0.000000005, "5bucks"]); } if (events.valentines) { diff --git a/scripts/data.js b/scripts/data.js index c93d168..55aa0ca 100644 --- a/scripts/data.js +++ b/scripts/data.js @@ -1,13 +1,19 @@ // Mappings: config.py + Cloudflare machines={ - "eud1":{ - "key":"~/thegame/design/docs/id_rsa.pem", - "ip":"195.201.181.245", + // "eud1":{ + // "key":"~/thegame/design/docs/id_rsa.pem", + // "ip":"195.201.181.245", + // "user":"root", + // "map":"eud1", + // }, + "euw1":{ + "key":"~/server_admin/keys/hetzner_dedicated", + "ip":"195.201.105.60", "user":"root", - "map":"eud1", + "map":"euw1", }, "usd1":{ - "key":"~/thegame/design/docs/id_rsa.pem", + "key":"~/server_admin/keys/usd1_dedicated", "ip":"158.69.23.127", "user":"ubuntu", "map":"usd1", @@ -68,19 +74,19 @@ servers=[ "region":"EU", "name":"I", "port":2053, - "machine":"eud1", + "machine":"euw1", }, { "region":"EU", "name":"II", "port":2083, - "machine":"eud1", + "machine":"euw1", }, { "region":"EU", "name":"PVP", "port":2087, - "machine":"eud1", + "machine":"euw1", }, // { // "region":"EU", @@ -92,7 +98,7 @@ servers=[ "region":"ASIA", "name":"I", "port":8443, - "machine":"eud1", + "machine":"euw1", }, { "region":"US", diff --git a/scripts/keep_alive.js b/scripts/keep_alive.js index 83c4939..2324c01 100644 --- a/scripts/keep_alive.js +++ b/scripts/keep_alive.js @@ -12,10 +12,10 @@ setInterval(function(){ servers.forEach(function(server){ if(server.machine!=id) return; var name=server.region+" "+server.name+" "+server.port; - if(output.indexOf("node server/server.js "+server.region+" "+server.name+" "+server.port)==-1) + if(output.indexOf("node adventureland/server.js "+server.region+" "+server.name+" "+server.port)==-1) { console.log("Server not running: "+name); - var command="ssh -i "+machine.key+" "+machine.user+"@"+machine.ip+" \"nohup node server/server.js "+server.region+" "+server.name+" "+server.port+" > s"+server.port+".out 2> s"+server.port+".err < /dev/null &\""; + var command="ssh -i "+machine.key+" "+machine.user+"@"+machine.ip+" \"nohup node adventureland/server.js "+server.region+" "+server.name+" "+server.port+" > s"+server.port+".out 2> s"+server.port+".err < /dev/null &\""; console.log(command); f.execso(command); } diff --git a/scripts/list_commands.js b/scripts/list_commands.js index 756296c..4649948 100644 --- a/scripts/list_commands.js +++ b/scripts/list_commands.js @@ -7,6 +7,6 @@ servers.forEach(function(server){ console.log(command); command="["+server.machine+" logs] scp -i "+machine.key+" "+machine.user+"@"+machine.ip+":s"+server.port+".out ."; console.log(command); - command="["+server.machine+" run] ssh -i "+machine.key+" "+machine.user+"@"+machine.ip+" \"nohup node server/server.js "+server.region+" "+server.name+" "+server.port+" > s"+server.port+".out 2> s"+server.port+".err < /dev/null &\""; + command="["+server.machine+" run] ssh -i "+machine.key+" "+machine.user+"@"+machine.ip+" \"nohup node adventureland/server.js "+server.region+" "+server.name+" "+server.port+" > s"+server.port+".out 2> s"+server.port+".err < /dev/null &\""; console.log(command); }); \ No newline at end of file diff --git a/scripts/run_servers.js b/scripts/run_servers.js index c237a0b..8ad302b 100644 --- a/scripts/run_servers.js +++ b/scripts/run_servers.js @@ -3,7 +3,7 @@ require(process.env.HOME+"/thegame/scripts/data.js"); servers.forEach(function(server){ var machine=machines[server.machine]; - var command="ssh -i "+machine.key+" "+machine.user+"@"+machine.ip+" \"nohup node server/server.js "+server.region+" "+server.name+" "+server.port+" > s"+server.port+".out 2> s"+server.port+".err < /dev/null &\""; + var command="ssh -i "+machine.key+" "+machine.user+"@"+machine.ip+" \"source ~/.nvm/nvm.sh && screen -dm bash -c 'node adventureland/server.js "+server.region+" "+server.name+" "+server.port+" > adventureland/s"+server.port+".out 2> adventureland/s"+server.port+".err'\""; console.log(command); f.execso(command); }); \ No newline at end of file diff --git a/scripts/update_machines.js b/scripts/update_machines.js index a43024a..22d1d28 100644 --- a/scripts/update_machines.js +++ b/scripts/update_machines.js @@ -8,7 +8,7 @@ for(var id in machines) { var machine=machines[id]; // var command="scp -qv -r -i "+machine.key+" ~/deploy/server "+machine.user+"@"+machine.ip+":./ 2>&1 | grep -e 'Sending file modes' -e 'Exit status'"; - var command="rsync -ru --exclude='node_modules/' ~/deploy/server -i "+machine.key+" "+machine.user+"@"+machine.ip+":./"; + var command="rsync -rui --exclude='node_modules/' --exclude='package-lock.json' -e 'ssh -i "+machine.key+"' ~/deploy/server/ "+machine.user+"@"+machine.ip+":./adventureland/"; //var command="rsync -ru ~/deploy/server -e \"ssh -i "+machine.key+"\" "+machine.user+"@"+machine.ip+":./"; // Spent 50 minutes on perfecting the scp output, bastards didn't provide a non-interactive output argument ... [05/08/18] // command+=" > /tmp/scp.log 2>&1";