From 07935f68a33825b0aef980612e9a27e15ee172c7 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 3 Dec 2022 09:57:42 +0100 Subject: [PATCH] Version 1.0rc10, py3.10 min --- .../workflows/github_action_build_docs.yml | 2 +- CHANGELOG.md | 2 +- README.md | 39 +++++++++---------- docs/source/Coding/Changelog.md | 3 +- .../source/Contribs/Contrib-Godotwebsocket.md | 6 +-- .../Setup/Installation-Troubleshooting.md | 4 +- docs/source/Setup/Installation.md | 2 +- evennia/VERSION_REQS.txt | 6 +-- .../base_systems/godotwebsocket/README.md | 22 +++++------ pyproject.toml | 2 +- 10 files changed, 43 insertions(+), 45 deletions(-) diff --git a/.github/workflows/github_action_build_docs.yml b/.github/workflows/github_action_build_docs.yml index 6470a2004e..1c0bc38604 100644 --- a/.github/workflows/github_action_build_docs.yml +++ b/.github/workflows/github_action_build_docs.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: - python-version: ['3.9'] + python-version: ['3.10'] steps: - name: Checkout ${{ github.ref }} branch diff --git a/CHANGELOG.md b/CHANGELOG.md index 85325a8e14..26c11b1860 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ > Not released yet > 2019-2022 develop branch (WIP) -Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.9, 3.10, 3.11. PostgreSQL 11+. +Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.10, 3.11. PostgreSQL 11+. - New `drop:holds()` lock default to limit dropping nonsensical things. Access check defaults to True for backwards-compatibility in 0.9, will be False in 1.0 diff --git a/README.md b/README.md index 305edd278c..0cd15a2eab 100644 --- a/README.md +++ b/README.md @@ -2,52 +2,46 @@ [![Build Status][unittestciimg]][unittestcilink] [![Coverage Status][coverimg]][coverlink] -*Evennia* is a modern library for creating [online multiplayer text +[Evennia][homepage] is a modern library for creating [online multiplayer text games][wikimudpage] (MUD, MUSH, MUX, MUCK, MOO etc) in pure Python. It allows game creators to design and flesh out their ideas with great freedom. Evennia does not impose a particular style, genre or game mechanic. Instead it -solves the boring networking and provides a framework for you to build the game -you want. Coding in Evennia is done using normal Python modules imported into -the server at runtime. All library code is heavily documented. Evennia has -extensive manuals and tutorials as well as a very active support community! +solves the boring networking and basic stuff all online games need. It provides +a framework and tools for you to build the game you want. Coding in Evennia is +done using normal Python modules imported into the server at runtime. + +Evennia has [extensive documentation][docs]. It also has a very active community +with [discussion forums][group] and a [discord server][chat] to help and support you! ## Installation pip install evennia + (windows users once: py -m evennia) evennia --init mygame cd mygame evennia migrate evennia start / stop / reload -Next, browse to http://localhost:4001 or telnet to localhost port 4000 to see your working (if empty) game! +See [the full installation instructions][installation] for more help. -- https://www.evennia.com is the main hub tracking all things Evennia. -- [Here is a shortcut to the documentation and tutorials](https://www.evennia.com/docs/latest/) +Next, browse to `http://localhost:4001` or use your third-party mud client to +connect to to `localhost`, port `4000` to see your working (if empty) game! ![screenshot][screenshot] -## Current Status +## Where to go next -The codebase is currently in **Beta**. While development continues, -Evennia is already stable enough to be suitable for prototyping and -development of your own games. +If this piqued your interest, there is a [lengthier introduction][introduction] to read. You +can also read our [Evennia in pictures][evenniapictures] overview. -## Where to go from here +After that, why not check out the [Evennia Beginner tutorial][beginnertutorial]. -If this piqued your interest, there is a [lengthier -introduction][introduction] to read. - -To learn how to get your hands on the code base, the [Getting -started][gettingstarted] page is the way to go. Otherwise you could -browse the [Documentation][docs] or why not come join the [Evennia -Community forum][group] or join us in our [development chat][chat]. Welcome! [homepage]: https://www.evennia.com -[gettingstarted]: https://www.evennia.com/docs/latest/Getting-Started.html [docs]: https://www.evennia.com/docs/latest [screenshot]: https://user-images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png [logo]: https://github.com/evennia/evennia/blob/master/evennia/web/website/static/website/images/evennia_logo.png @@ -60,3 +54,6 @@ Welcome! [group]: https://github.com/evennia/evennia/discussions [chat]: https://discord.gg/AJJpcRUhtF [wikimudpage]: http://en.wikipedia.org/wiki/MUD +[evenniapictures]: https://www.evennia.com/docs/latest/Evennia-In-Pictures.html +[beginnertutorial]: https://www.evennia.com/docs/latest/Howtos/Howtos-Overview.html#beginner-tutorial +[installation]: https://www.evennia.com/docs/latest/Setup/Setup-Overview.html#installation-and-running diff --git a/docs/source/Coding/Changelog.md b/docs/source/Coding/Changelog.md index d0754a890a..26c11b1860 100644 --- a/docs/source/Coding/Changelog.md +++ b/docs/source/Coding/Changelog.md @@ -5,7 +5,7 @@ > Not released yet > 2019-2022 develop branch (WIP) -Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.9, 3.10, 3.11. PostgreSQL 11+. +Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.10, 3.11. PostgreSQL 11+. - New `drop:holds()` lock default to limit dropping nonsensical things. Access check defaults to True for backwards-compatibility in 0.9, will be False in 1.0 @@ -222,6 +222,7 @@ Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.9, 3.10, 3.11. Post - Add `AT_EXIT_TRAVERSE` signal, firing when an exit is traversed. - Add integration between Evennia and Discord channels (PR by Inspector Cararacal) - Support for using a Godot-powered client with Evennia (PR by ChrisLR) +- Added German translation (patch by Zhuraj) ## Evennia 0.9.5 diff --git a/docs/source/Contribs/Contrib-Godotwebsocket.md b/docs/source/Contribs/Contrib-Godotwebsocket.md index 507e018989..3b062f5bb2 100644 --- a/docs/source/Contribs/Contrib-Godotwebsocket.md +++ b/docs/source/Contribs/Contrib-Godotwebsocket.md @@ -101,7 +101,7 @@ caller.msg(coordinates=(9, 2)) ``` Godot -``` +```gdscript func _on_data(): ... if json_data[0] == 'text': @@ -130,7 +130,7 @@ you receive, so you can manage the code better. This is an example of a Script to use in Godot 3. The script can be attached to the root UI node. -``` +```gdscript extends Node # The URL to connect to, should be your mud. @@ -221,7 +221,7 @@ Note that the version is not final so the code may break. It requires a WebSocketClientNode as a child of the root node. The script can be attached to the root UI node. -``` +```gdscript extends Control # The URL to connect to, should be your mud. diff --git a/docs/source/Setup/Installation-Troubleshooting.md b/docs/source/Setup/Installation-Troubleshooting.md index ee7c5e885c..8564924f8d 100644 --- a/docs/source/Setup/Installation-Troubleshooting.md +++ b/docs/source/Setup/Installation-Troubleshooting.md @@ -7,12 +7,12 @@ you can run `evennia -l`, or start/reload the server with `evennia start -l` or ## Check your Requirements -Any system that supports Python3.9+ should work. +Any system that supports Python3.10+ should work. - Linux/Unix - Windows (Win7, Win8, Win10, Win11) - Mac OSX (>10.5 recommended) -- [Python](https://www.python.org) (v3.9, 3.10 and 3.11 are tested. 3.11 is recommended) +- [Python](https://www.python.org) (3.10 and 3.11 are tested. 3.11 is recommended) - [Twisted](https://twistedmatrix.com) (v22.3+) - [ZopeInterface](https://www.zope.org/Products/ZopeInterface) (v3.0+) - usually included in Twisted packages - Linux/Mac users may need the `gcc` and `python-dev` packages or equivalent. diff --git a/docs/source/Setup/Installation.md b/docs/source/Setup/Installation.md index 9105aa1b5c..8152a33f86 100644 --- a/docs/source/Setup/Installation.md +++ b/docs/source/Setup/Installation.md @@ -12,7 +12,7 @@ You can also [clone Evennia from github](./Installation-Git.md) or use [docker ```{sidebar} Develop in isolation Installing Evennia doesn't make anything visible online. Apart from installation and updating, you can develop your game without any internet connection if you want to. ``` -- Evennia requires [Python](https://www.python.org/downloads/) 3.9, 3.10 or 3.11 (recommended). Any OS that supports Python should work. +- Evennia requires [Python](https://www.python.org/downloads/) 3.10 or 3.11 (recommended). Any OS that supports Python should work. - _Windows_: In the installer, make sure you select `add python to path`. If you have multiple versions of Python installed, use `py` command instead of `python` to have Windows automatically use the latest. - _Windows:_ If you want to use Python 3.11, you must also install the [Windows SDK](https://aka.ms/vs/16/release/vs_buildtools.exe). Run the linked installer. Click the `Individual Components` tab at the top, then search and checkbox the latest `Windows 10 SDK` (also for older/newer Windows versions). Then click `Install`. If you have trouble, use Python 3.10 for now (2022). - Don't install Evennia as administrator or superuser. diff --git a/evennia/VERSION_REQS.txt b/evennia/VERSION_REQS.txt index 5a73a1ed31..204efd2a48 100644 --- a/evennia/VERSION_REQS.txt +++ b/evennia/VERSION_REQS.txt @@ -3,8 +3,8 @@ # when people upgrade outside regular channels). This file only supports lines of # `value = number` and only specific names supported by the handler. -PYTHON_MIN = 3.9 -PYTHON_MAX_TESTED = 3.11.0.0 +PYTHON_MIN = 3.10 +PYTHON_MAX_TESTED = 3.11.100 TWISTED_MIN = 20.3.0 DJANGO_MIN = 4.0.2 -DJANGO_MAX_TESTED = 4.1 +DJANGO_MAX_TESTED = 4.1.100 diff --git a/evennia/contrib/base_systems/godotwebsocket/README.md b/evennia/contrib/base_systems/godotwebsocket/README.md index b3f6abf99d..54aa78ce46 100644 --- a/evennia/contrib/base_systems/godotwebsocket/README.md +++ b/evennia/contrib/base_systems/godotwebsocket/README.md @@ -53,7 +53,7 @@ You must also remove the protocol from the `connect_to_url` call made within the `_ready` function. ``` -func _ready(): +func _ready(): # ... # Change the following line from this var err = _client.connect_to_url(websocket_url, ["lws-mirror-protocol"]) @@ -73,13 +73,13 @@ func _on_data(): var data = _client.get_peer(1).get_packet().get_string_from_utf8() var json_data = JSON.parse(data).result # The json_data is an array - + # The first element informs us this is simple text # so we add it to the RichTextlabel if json_data[0] == 'text': for msg in json_data[1]: label.append_bbcode(msg) - + # Always useful to print the data and see what we got. print(data) ``` @@ -102,18 +102,18 @@ caller.msg(coordinates=(9, 2)) ``` Godot -```gdscript +``` func _on_data(): ... if json_data[0] == 'text': for msg in json_data[1]: label.append_bbcode(msg) - + # Notice the first element is the name of the kwarg we used from evennia. elif json_data[0] == 'coordinates': var coords_data = json_data[2] player.set_pos(coords_data) - + ... ``` @@ -132,7 +132,7 @@ you receive, so you can manage the code better. This is an example of a Script to use in Godot 3. The script can be attached to the root UI node. -```gdscript +``` extends Node # The URL to connect to, should be your mud. @@ -190,7 +190,7 @@ func _on_data(): # elsewhere in the project. self.emit_signal('updated_coordinates', json_data[1]) - + # We only print this for easier debugging. print(data) @@ -224,7 +224,7 @@ Note that the version is not final so the code may break. It requires a WebSocketClientNode as a child of the root node. The script can be attached to the root UI node. -```gdscript +``` extends Control # The URL to connect to, should be your mud. @@ -243,7 +243,7 @@ func _ready(): websocket.connect('connected_to_server', self._connected) websocket.connect('connection_closed', self._closed) websocket.connect('message_received', self._on_data) - + # We attempt to connect and print out the error if we have one. var result = websocket.connect_to_url(websocket_url) if result != OK: @@ -286,4 +286,4 @@ func _on_button_pressed(): var msg_str = JSON.stringify(msg_arr) websocket.send(msg_str) -``` \ No newline at end of file +``` diff --git a/pyproject.toml b/pyproject.toml index c26af3463d..61d7f5b6ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "evennia" -version = "1.0rc9" +version = "1.0rc10" maintainers = [ { name="Griatch", email="griatch@gmail.com" }, ]