Skip to content

Instantly share code, notes, and snippets.

@3TUSK
Created August 26, 2023 06:45
Show Gist options
  • Save 3TUSK/e34abe098caa253db2987492445ebff5 to your computer and use it in GitHub Desktop.
Save 3TUSK/e34abe098caa253db2987492445ebff5 to your computer and use it in GitHub Desktop.

一些注释:

T 开头是 3TUSK,Z 开头是 ustc_zzzz


[Slide #1],参考时间 00:00

T: Good morning, afternoon, evening, everyone here, and thank you for coming to this keynote.

[Slide #2],参考时间 00:08

T: I am 3TUSK. I spell my name this way, usually with three pronounced in Mandarin Chinese as sān (as in sanity), making it 三-T-U-S-K.

T: Some of you may have known my name already, but I am not as active as before.

T: As one of the charter members, today I would like to talk about the history of TeaCon in the past 3 years, and what we learnt from it.

T: Due to time constraints, I won’t be able to cover every detail here, and I will lean towards our technical background. So, apologize about that.

T: Today’s keynote will be joined by u-s-t-c-z-z-z-z. You can also call him four-z, another charter member who is in charge of a lot of things.

[递话筒]

Z: I’m the person called four-z by three-t-u-s-k.

Z: What I am ready to talk about today is related to part of the technical things of TeaCon, such as our infrastructure, and several mods which have already been publicly available.

[接话筒]

T: So, without further due, let’s get started.

[Slide #3],参考时间 01:06

T: What is TeaCon after all?

T: A quick summary is, it’s a blend of mod jam and BTM-styled online convention.

T: Honestly speaking, that’s an over-simplified definition, but it serves its purpose. We’d like to see modders to develop mods in given time interval and use a booth to show off their work. Then, let judges and players rate them.

[Slide #4],参考时间 01:34

T: Everything started from a dream.

[Slide #5],参考时间 01:41

T: I was in BTM16, BTM16.2, PicoBTM and BTM Moon, only missed the very first BTM, BTM15.

T: These events deeply impressed me, and at the same time, left one question in my mind. That is,

T: Can we have something similar in the Chinese-speaking community?

[Slide #6],参考时间 02:02

T: I once believed that the answer was: NO.

T: The problem is, while there are surely A LOT OF players, only few of them are modders. To make the situation worse, these modders typically have a lot of matter to deal with in their real life. Many of them are students, and they have to prioritize exams. Some of them have jobs to do, and bills to pay, and thus little to no time to spare.

T: Here’s an extreme example: back in early 2015, MCBBS, one of the largest Chinese-language Minecraft communities, organized a mod jam event.

T: Guess what? There was NO submissions. Technically, there was one submission, but it was ineligible because it had been published in 2014.

T: As a result, in next couple of years, I always believed that we did not have enough people to make it possible.

T: The situation improved in 2018 when another group tried the same. It was NetEase, the company behind the localized Minecraft China.

T: This time they did get a lot of developers, but spawned a lot of controversies. This event is not mod-centric either: they also had competitions for maps, resource packs and Bedrock Addons. So it was not ideal either.

T: Speaking of Bedrock, one thing worth noting is that, we do have more people preferring playing on mobile devices than PCs or laptops. This adds one more uncertainty.

T: Other than that, I was not aware of other attempts in the Chinese-speaking scene.

[Slide #7],参考时间 03:35

T: TeaCon was born in May of 2020 when everyone was sitting in front of screens because of pandemic.

T: Someone brought up the mod jam again in a chit-chat, and while I was about to refute this idea, I realized that:

T: It is not impossible anymore.

T: “So let’s make it happen, ” I thought, “item #1, a name”.

T: I spent a day to think of a name and chose 茶会, meaning tea-talk.

T: Then I added “mod” and “dev” before it, we got 模组开发茶会, so it is. To make it even shorter, I picked TeaCon as our English name, which is just tea and convention mixed together.

T: Now it’s like 25% done. I bought the domain and then invited some well-known people to be the charter members.

T: But before we actually announced it, there had been one more thing to do:

[Slide #8],参考时间 04:32

T: We needed to know how the community thought about it. So we did a survey.

T: Some statistics are shared here today.

T: We got 792 answers.

T: First observation: for every 10 answers, 6 would say they would just be audiences, 2 would say they want to make mods, 1 would say they want to be judges, and another 1 would say they are noob and can’t do anything.

T: Second, there are many people realized what we are trying to do and gave us best wishes. Some people even straightly pointed to BTM. Oh wow.

T: Next, there are also criticisms. One notable criticism is that, we should extend our event to half year or a full year because mods require time to polish; otherwise it would be full of “this reborn” or “that rebirth” or just trash, which is just NOT WORTH THE EFFORT.

[Slide #9],参考时间 05:32

T: Then, we have version preferences. This question allow multiple choice. 73.1% of all answers say 1.12.2. Half of all answers say 1.15.2, the latest at that time. 28.1% say 1.14.4 and 25.2% say 1.7.10. Should I do it a few years earlier, I would have expected 73.1% say 1.7.10.

T: Last but not least, on the issue of piracy. It’s almost a half-half-split. I won’t go deep on this because of time, hopefully in the future.

[Slide #10],参考时间 06:17

T: With the survey data ready, we could finally kick off our first iteration: TeaCon 2020.

[Slide #11],参考时间 06:27

T: We decided on 1.15.2 and Forge.

T: Fabric had already been a thing at that time, but most of our team members were not familiar with it, except me. So we sticked with Forge.

T: As for theme, we initially gave two optional themes: tea and summer. One matched our name and one matched the time. But we ended up with lot of mods trying to fit the theme, including a mod adding tea-leaves powered machines.

T: Schedule-wise, since we only had one month and a bit more to prepare, the scheulde was a bit chaotic. Many deadlines were mixed together.

T: But the skeleton is still used today, which divides the event into 5 stages:

[Slide #12],参考时间 07:11

T: Opening, Building, Exhibition, Closing and Shutdown. We would give about 2 months to develop a mod, and 1 month to build booths, then open the public server for 2 weeks, announce the results, and keep the server running for another month for anyone who cannot make it on time.

T: Opening and closing have their own ceremony events, in which we may invite guest speakers.

[Slide #13,递话筒],参考时间 07:37

Z: Now, it's my time to introduce our infrastructure at that time.

Z: Given our natures, we need specialized mods to do specialized tasks.

Z: In TeaCon 2020, we have created:

SlideShow, which is a mod that displays web images.

AreaControl, which is a plot management mod.

ChromeBall, which is a meme mod making my most commonly used avatar into a droppable item that players can throw away everywhere in-game.

Nickname, which is a mod to allow you change your display name in game. This was later abandoned because it caused confusion and management burden.

SimplePermission, which provides a permission management system on top of the Forge Permission API. This was later replaced with LuckPerms because LuckPerms does it just right.

Z: All of them can be found in our GitHub organization. They are currently not available on either CurseForge or Modrinth, however.

[Slide #14,接话筒],参考时间 08:45

T: Let’s get to the topic of issues we faced.

T: One of the major issues we faced in TeaCon 2020 was that we wasted a lot of time on manually doing things. Even the website was 100% hand-written HTML, the mod list had to be manually updated.

T: Not to mention that we need to build mods on our own. This was a time-consuming process. Fortunately, we only had around 20 submissions at that time.

T: All and all together, we started our quest of automation since 2021; we will dive into it later.

[Slide #15],参考时间 09:23

T: Another issue was that our exhibition server got attacked.

T: We spent like 2 days to confirm it was an attack, which utilized a zero-day vulnerability from The One Probe.

T: Put in short, The One Probe had a network packet, which, server would get the data at requested position and return to client. The One Probe did not check if the position was in loaded area or not. You can see what could happen next.

T: The result? Server TPS dragged below the threshold, letting the watchdog kill the server. Tons of chunks were created; our save exploded into 10G-ish uncompressed.

T: We spent another day to deploy fix, contact McJty privately to get fixed upstream, and ran a quick post-mortem.

T: Till today, we still don't know why it was worth using 0-day vulnerability to attack our server, but “waiting for server”, the a placeholder text used by The One Probe, became an insider joke since then.

[Slide #16],参考时间 10:31

T: Last but not least, on the issue of awards and voting.

T: We only had a dedicated judge team at that time, and it turned out that it was implemented very poorly.

T: Many judges gave their results late.

T: Not only that, but also some awards were simply impractical. Those awards never came back.

T: Voting was collected in a spreadsheet, and counted manually. Well, I did use some functions to speed it up, but everything was still by hand. All and all led to the fatal calculation error left unnoticed until the closing ceremony when I announced the result.

T: Consequently, the voting process was reformed in 2021 which we will discuss later.

T: So these are all we have for TeaCon 2020.

[Slide #17],参考时间 11:20

T: Preparation of TeaCon 2021 actually started in December of 2020, 3 months later after the TeaCon 2020 closing ceremony.

[Slide #18],参考时间 11:33

T: After a few meeting sessions, we decided that we would use 1.16.5 and Forge.

T: The opening ceremony was pinned on May 1st. Mod development cut between July and August, and the closing ceremony was pinned at a date before everyone returning to school.

[Slide #19],参考时间 11:55

T: We decided that we would use a mandatory topic. We would give a lengthy prompt to explain the topic, hoping that this can help participants think about what to do.

T: The topic of TeaCon 2021 was a bit lengthy, but in a nutshell, it was “small fictitious gadgets”.

T: We ended up with some rather big objects, though.

[Slide #20],参考时间 12:23

T: We also decided to introduce an example mod. Put in this way, if TeaCon ourselves is also a participating team of TeaCon, then this example mod is what we will do.

T: Not only it helps explaining our theme, but also it serves as a starting point for other modders.

[Slide #21],参考时间 12:44

T: One of the new issues we had in 2021 was eligibility.

T: We required mods to be developed in a given time window since the beginning, but there were an increasing number of modders who would like to take this opportunity to share their works.

T: Also, mods from TeaCon 2020 would like a return. We’d like to see them return as well.

T: Adding them together, we started to have this concept called “show-off out of kindliness”. Mods under this category are not eligible for awards unless they appeared in past TeaCon sessions at least once.

[Slide #22],参考时间 13:28

T: Now we are hitting the tech stack.

T: Earlier I mentioned that manually doing things wasted a lot of time.

T: To address this, we started to write a lot of things.

[Slide #23,递话筒],参考时间 13:41

Z: The earliest and most urgent need was a sign-up portal, which was also the first completed and deployed in the newly added infrastructure of TeaCon 2021. It’s called 碧螺春. The name comes from a type of green tea.

Z: It was initially written in Python using Flask, later rewritten in Go, a programming language officially maintained by Google.

Z: It uses Microsoft OAuth. We thought that we could then check if you have purchased Minecraft: Java Edition, but Mojang started account migration only after TeaCon 2021 closing ceremony. Blame Mojang I guess.

Z: It has a RESTful API. We were also restful, too. Because we got everything needed from API.

[Slide #24],参考时间 14:37

Z: Second thing, an automatic way to build submitted mods from source.

Z: This system is called 龙井, and yes, it is another type of green tea.

Z: It uses GitHub Action to build mods, so it is on GitHub. [停顿] Link provided.

Z: This system is deeply integrated with 碧螺春, our sign-up system introduced on the previous slide.

Z: It has several duties besides continuous integration.

Z: First, it PGP-signs mods. The signature would be used by another thing, we will get there very quickly.

Z: Second, it does some automatic check. It will spawn a dedicated server with your mod installed, to see if the server can start. It checks if your mod ID is still example mod, which happened multiple times since there has always been someone forgetting modify build.gradle file.

[Slide #25],参考时间 15:47

Z: Third thing, a place to collect extra resources and data.

Z: We officially name it Packed User Exhibition Resources, or 普洱, PUER for short. 普洱 is a type of dark tea.

Z: It is on GitHub, too. Link provided.

Z: Previously P-U-E-R was also responsible for assembling server modpack, but that was moved to a dedicated service in 2023, a-k-a this year.

[Slide #26,接话筒],参考时间 16:30

T: Another issue we had in 2020 was: [停顿] server crashes.

T: While we did anticipate server crashes, we however did not want crashes to delay booths building.

T: To this end, we introduced the concept of mods promotion.

[Slide #27],参考时间 16:48

T: At that time, it worked in this way.

T: First, 龙井 would build all mods.

T: These mods would enter the first stage, called Test.

T: The test stage includes a sandbox server, where worlds are reset on each restart. We gave this playground to modders to test out their mods before moving to the next stage.

T: The next stage is called Build, or sometimes Prod. This is the booth-building server and should have much less crashes.

T: In 2022, we added one more stage called Exhibition. This stage contains one or more replicas of Build. This protects Build from accidents or deliberate vandalism.

[Slide #28,递话筒],参考时间 17:30

Z: Let’s talk about our infrastructure mods. In TeaCon 2021 they also had new members.

Z: First is RemoteSync, a mod updater based on FML.

Z: Every time the game starts, it will fetch the latest mod list, download the mod, download the PGP signature by 龙井, check the signature, and finally pass the mod to FML.

Z: While it certainly fulfilled its purpose, it also caused a lot of new issues.

Z: Because of these new issues, we dropped RemoteSync, and started using Packwiz this year. Everyone listening here might be familiar with Packwiz, already.

Z: Then we have VoteMe, which allows players to vote for their favorite mods in Minecraft. It’s powered by Redis and is data-driven.

Z: Also SignMeUp, an in-game travel guide, tells you where are all the booths. It is not a minimap mod because it doesn’t really include a minimap, but many players think it should.

Z: Last but not least, we have Isle, our custom world generation.

[Slide #29],参考时间 18:49

Z: This is how Isle works: it generates an isle with all biomes on it. Outside of the isle is an endless sea.

Z: Since biome distribution is random, we would try multiple times to actually find a seed with all biomes needed. In fact, it may take hundreds of times.

[Slide #30,接话筒],参考时间 19:13

T: Now get into the new issues. We also use some third-party mods, but sometimes they can break. This time we had a broken WorldEdit.

T: All commands from WorldEdit would stop working after running the /reload command. And we use the /reload command a lot.

T: Usually we could fix issues on our own, like what we did back in 2020 for The One Probe, but WorldEdit was a special case: its project structure was way too complex. Of course, if WorldEdit had still been maintaining its 1.16.5 version, we wouldn’t have needed to care too much about it.

T: We ended up restarting the server every time we needed to run /reload command.

[Slide #31],参考时间 20:14

T: Another issue was careless entity selectors.

T: Combining with /kill command, one could cause catastrophic damage to the booth-building server.

T: This caused several save rollbacks. To minimize the impact, we had a tool to extract just entity data from chunk data and merge it into broken save. So we could do a partial rollback.

T: But the issue was still not resolved until this year. We will get back later.

T: Fortunately, since later versions of Minecraft stored their entity data in a separate directory, partial rollbacks have been easier since then.

T: Oh, also, AVOID NBT SELECTORS AT ALL COST!

T: These are major takeaways from TeaCon 2021. Next, TeaCon 2022.

[Slide #32],参考时间 21:01

T: Preparation started in early 2022.

[Slide #33],参考时间 21:07

T: We continued using the latest version at that time which was 1.18.1, then later 1.18.2. And we were still on Forge.

T: The theme, which can also be called the topic, of 2022, was fire.

T: Clearly, there were influences of Elden Ring, but in reality, we had a lot of mods Mixin-ed into vanilla furnaces.

T: As a comparison, only 2 or 3 mods in TeaCon 2021 used Mixin, excluding infrastructure mods.

T: We still ran on the May-to-August schedule.

[Slide #34],参考时间 21:44

T: We continued to offer an example mod for reference. This time: CannonFire.

T: It added a cannon. This cannon shoots players into the sky.

T: Falling damage is voided. So we use this as a transportation tool.

[Slide #35],参考时间 22:00

T: This is how it looks like. [停顿]

[Slide #36],参考时间 22:09

T: In addition to the example mod, we also made a modding tutorial.

T: It is called 正山小种, and it is a type of black tea.

T: This tutorial is intended for anyone who would like to join, but had no modding experiences before.

T: It is designed in this way: copy this, copy that, and then it should work.

T: Well… maybe it worked as expected. We still lack feedback on this one.

[Slide #37],参考时间 22:34

T: Then we were hit by this unthinkable issue:

T: The opening ceremony was flooded with more than two hundred players.

T: For comparisons, the last time we had more than 100 players was when we opened the exhibition server in 2021. At other times, we only had peaks at around 60 - 80.

[Slide #38],参考时间 22:58

T: This was how it looked like at the stage.

T: Not Enough Seats.

T: The server was killed by the watchdog after about 4 or 5 minutes.

[Slide #39],参考时间 23:12

T: It is worth noting that we could not find a screenshot that does say more than 200, only this one with 190 players. Pretty close though.

[Slide #40],参考时间 23:23

T: So after the opening ceremony, we quickly started post-mortem. The key question is “How could we handle this many players?”

T: We happened to have the author of Arclight, Izzel_Aliz, in our advisor team. He proposed a solution based on setting up replicas:

T: First, we would have four servers, each one of them is a copy of the build server.

T: All four servers would run on Arclight, and put behind Lightfall, a fork of Waterfall that adds proper Forge support. It requires client mods though.

T: Then, on Lightfall, we have an algorithm to distribute players evenly among replicas.

T: Finally, with a mod called Phantom, all players can see each other from different replicas.

T: The majority of staff members voted in favor of this setup, so it was adopted.

T: We also decided to switch from the screen command to Docker Compose to run the servers. It serves as a primitive way to do replica orchestration, and it provides some level of sandboxing. However, it was later revealed that we still had to use a lot of ad hoc bash scripts.

[Slide #41],参考时间 24:37

T: As for other infrastructure mods, this year we had three new mods: PowerTool, XKDeco, and 喜报.

T: PowerTool is just a toolkit of useful things, for example, item display, text display, a command block that repeatedly does things on its own, an infinite power source, decoration-safe hoppers, and much more.

T: XKDeco is a decoration mod originally created by X-e-K-r, a texture artist and resource pack creator. We commissioned to port this mod away from MCreator.

T: As for 喜报, it is a bit tricky to explain, but it does this:

[Slide #42],参考时间 25:13

T: It changes the background of the disconnection screen.

T: This texture is a meme. The word 喜报 roughly means “good news“, but this template is often used to express bad news or trivial matter.

[稍微停一会]

[Slide #43],参考时间 25:33

T: In TeaCon 2022, we later changed the texture to BSOD via resource pack. We also added some instructions on what you can do when disconnected.

[稍微多停一会]

[Slide #44],参考时间 25:49

T: Back in TeaCon 2021, there was a mod adding trading cards and an accompanying collection book. The author of said mod also organized an unofficial card-collecting activity.

T: Inspired by this, we rolled out the official collection event in TeaCon 2022.

T: We had 34 fire-themed items to collect.

T: It clearly had influence from Dark Soul.

T: As for the result, we found that most items were easy to find, but still some items were a bit obscure to find. Some were gated behind mini-games, but those games were tricky.

T: Also, we have learnt that it costs a lot of time to organize such an event. We will need to plan ahead if we want it next time.

[Slide #45],参考时间 26:40

T: Speaking of mini-games, TeaCon 2022 had more mini-games than 2021 or 2020.

T: This led to the issue of quote, cheating, quote. The reason I use quote is that the situation is more like unexpected mod interactions.

T: In short, there are mods offering flying capability, and there are games such as parkours. Adding them together means that you could now complete the game in an unintended way.

T: We are still in the trial-and-fail stage on this issue. We have made AreaControl capable of prohibiting the possession of certain items in certain areas and requested modders to notify us if they are adding alternative transportation methods. We will continue to explore alternative solutions.

[Slide #46],参考时间 27:32

T: And a classic issue, shaders.

T: So there are many people who would like to do a recorded tour and share the videos. Among those people, the majority of them want shaders.

T: This issue was not that outstanding because not many modders were dealing with rendering in the past.

T: We all know that it can be very daunting when it comes to conflict with shaders, especially OptiFine. Not to mention we are still on Forge which means that we’d only have Oculus, not the original Iris.

T: For now, all we could do is to provide help as much as we can - though oftentimes very limited. I wish one day we could have a practical guide on how to be compatible with shaders, but that is still a far-fetched goal.

[Slide #47],参考时间 28:16

T: With all past experiences, we managed to hold our ground and host our 4th iteration event this year, TeaCon 2023.

[Slide #48],参考时间 28:31

T: Yes it is still ongoing. Right now we have passed the mod development deadline which is August 2nd, and there are people working on the booth building server at this very moment.

T: Our exhibition server will open to the public on September 20th, about one week before 中秋节, or the Mid-Autumn Festival.

T: This year, we had a lot of extraordinary situations. First, when we held our first planning meeting back in January, we decided to use 1.19.4, but then Mojang released 1.20 in early June. We had no choice but to follow - which means, all the mods had to be updated.

T: Second, about a month after the opening ceremony, NeoForge was born out of Forge. This time, we are simply too late to move; we do not want to cause more confusion to all participants.

[Slide #49],参考时间 29:22

T: This year’s topic is 热闹, meaning lively, vibrant, or liveliness.

T: The example mod we have this year is a Loong boat with Ender Dragon head on it.

T: The reason is that our opening ceremony was close to the 端午节, a traditional Chinese holiday.

T: The slide contains a banner art created by 尤里的猫. [停顿]

[Slide #50],参考时间 29:50

T: We had a revamped team structure this year.

T: Previously we didn’t have a formalized team structure. We only had some conventions, for example, I might be assigned for mod development or server operation, but never for chat room moderation.

T: This year, we pretty much just cement these conventions by creating different task forces. Different task forces have different duties, and they don’t need to worry about others.

T: … well, in practice, sometimes we still need collaboration among different teams.

T: We might need to review this setup in the future, too.

[Slide #51,递话筒],参考时间 30:32

Z: We also had a major overhaul of our server architecture this year. We introduced a lot of new components, including without limit to: Drone.io, Kubernetes, Grafana, Prometheus, and so on…

[Slide #52],参考时间 30:59

Z: This diagram demonstrates how complex this architecture is.

Z: It consists of many parts. In addition to 龙井, 碧螺春, and 普洱 introduced in TeaCon 2021, it also includes an image-packaging service, a Packwiz-based modpack manifest generation service, a download service for mod dependencies, and multiple Pods running Minecraft servers which are managed by Kubernetes.

Z: Besides, it contains a Redis server, a PostgreSQL server, a system based on Prometheus for collecting metrics, and a log collection and analysis system based on FluentBit and Grafana Loki.

Z: All with a single objective: easy, automatic server scaling and monitoring. Honestly, this diagram is too complicated, and we may need some time to make it easier to understand.

[Slide #53],参考时间 32:06

Z: As for Grafana, we use it to monitor server data such as milliseconds per tick and online player count, view server logs, and even sign-up stats.

Z: This Grafana screenshot shows that how many players stayed on 1 replica, and it takes average 5.8 milliseconds to perform a tick.

[Slide #54,接话筒],参考时间 32:38

T: We also expanded our mods promotion track to 5 stages. It is pretty much the same as before because the two new stages, Dev and Stage, don’t have many jobs attached for now.

[Slide #55],参考时间 33:04

T: Unlike 2021 or 2022, this year we carefully selected a void as our terrain.

T: This is more an attempt to see if we can solve issues with natural terrain. Since we are still building the booths, we will see how it ends up.

[Slide #56,递话筒],参考时间 33:22

Z: Infrastructure mods are still growing.

Z: Our plot management mod, AreaConrtol, is now capable of stopping rogue selectors from targeting innocent entities.

Z: With an additional mod CommandConfirm, we should be able to keep out the rogue /kill @e command once and for all.

Z: CheckMeIn is a mod to guide players visiting booths by using “check-in points”. It was finished few weeks ago so more details will come later.

Z: 公道杯 is responsible for service discovery and load balancing. It has two parts: one Forge mod and a BungeeCord plugin.

Z: We also have this ZProbe mod to bridge the Minecraft servers and Kubernetes.

[Slide #57,接话筒],参考时间 34:19

T: We have filtered out many common crashes by various automated checks, but it seems like crashes are also evolving.

T: This year we saw a spike in crashes related to bad network packets.

T: These bugs are hard to figure out, and we usually resort to binary search.

T: We will see if we can somehow automatically check this kind of issues.

[Slide #58],参考时间 34:47

T: Last but not least, this year we set up a knowledge base to collect all our documents.

T: Previously it was scattered all over the places without clear indexing.

T: With this knowledge base, we can do a lot of things, such as hosting our curated FAQ, the documentation on mods, how to do this, and how to do that.

T: We can also directly open some documents to the public, which improves our transparency.

[Slide #59],参考时间 35:14

T: Since TeaCon 2023 is still ongoing, this would be the last part of this keynote: our future.

[Slide #60],参考时间 35:21

T: Honestly speaking, we don’t have many expectations.

T: All of us are grown-ups, and have either school works or jobs to do. So really, the hardest part is to hold our ground.

T: After we make sure we are still here, we’d keep learning, learn from mistakes, try new things, and hire more talents to share our workload.

T: Some key fields to work on include player experiences and how to make more people know of those good mods. If we can get right people to help on this, that would be magnificent.

[Slide #61],参考时间 35:44

T: Oh there is also a diversity issue.

T: I think it has been asked again and again since Day #1 in many different ways: When will you support Fabric? Do you accept Fabric mods? Quilt? Bukkit plugins? Datapacks? Command blocks?

T: The answer is: We need much, much, MUCH more time and resources if we ever want any of these options.

T: Or you know what, we are eager to see a competitor. I mean, a competitor from the Chinese-speaking scene. I’d like to end this keynote with a Chinese proverb, which reads:

T:

Blue is obtained from the indigo plant but is bluer than the plant itself; ice is made from water but is colder than water itself.

[原文:青,取之于蓝而青于蓝;冰,水为之而寒于水。]

T: I believe, our lessons and mistakes will be the stepping stone to success for our competitors.

[Slide #62],参考时间 36:36

T: So, thank you again for listening to this prolonged keynote. Feel free to ask any remaining questions now.

T: Thank you.

[递话筒]

Z: Thank you.

[结束],参考时间 36:45

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment