GithubHelp home page GithubHelp logo

kf2servertool's People

Contributors

darkdks avatar wookiefriseur avatar ynct200123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kf2servertool's Issues

Invalid arguments with -config

Describe the bug
Running the tool using -config with a confirmed working ini causes the tool to not work. Both -info and -addmap have the same behaviour while both without -config work.

To Reproduce
Steps to reproduce the behavior:

  1. Run the tool with -config KFServerToolCMD.ini -info
  2. Tool prints Option: Custom ini is set to KFServerToolCMD2.ini and Press ENTER
  3. Press enter
  4. See error Error: status: Invalid arguments and no server info

Expected behavior
Tool works with a specified config file

Desktop (please complete the following information):

  • OS: Arch Linux
  • Version of the tool 1.2.5?

[BUG] Tool always starts between 2 screens with a dual-screen-setup

Describe the bug
When using 2 Screens the Tool starts inbetween both screens for me.

To Reproduce
Steps to reproduce the behavior:

  1. Have 2 screens
  2. Run the tool
  3. ????
  4. Profit

Expected behavior
Should show up on only one of the screens.

Screenshots
...

Desktop (please complete the following information):

  • OS: Windows 10 64bits
  • Version of the tool 1.3.4 and latest compiled code

Additional context
Use poScreenCenter instead of poDesktopCenter or save the last position in the INI file then it happens only on the first run (I think it currently saves the window size, could add position).

[Req] Add custom gamemodes

It would be awesome if this had the ability to run a server with a custom game mode like controlled difficulty, or any other custom workshop game modes.

CMD -addmap breaks server config

Describe the bug
After adding a map with the CMD tool, server listens on port 0

To Reproduce
Steps to reproduce the behavior:

  1. Setup a server fresh and confirm it's working
  2. Run KF2ServerToolCMD -addmap https://steamcommunity.com/sharedfiles/filedetails/?id=643383080 (or any other map)
  3. Run the server
[0000.02] Log: Automatically setting Steam query port to 19238 (server port is 0)
[0000.02] Log: Automatically setting Steam port to 12783 (server port is 0)

Expected behavior
Tool doesn't break the server config. Server should keep running on default ports.

Desktop (please complete the following information):

  • OS: Arch Linux
  • Version of the tool 1.2.5?

Additional context
Diff of config folders. DownloadManagers modified manually other changes by the tool.
https://gist.github.com/Lartza/53d523f09d2fec3064a04afa205e546d

Error adding item (Map)

image
I've added some items to my kf2 server, but adding any more than that creates this error no matter what the map is. Any help?
These are all the maps with errors.
image

New Official Maps not shown

Describe the bug
The new update included new maps, but they're not shown in the program.

To Reproduce
Steps to reproduce the behavior:

  1. Download the program
  2. Download the latest update

Expected behavior
The latest maps should be there.

Screenshots
image

Desktop (please complete the following information):

  • OS: [e.g. Windows 7 32bits, Windows 10 64bits]
  • Version of the tool [e.g. 1.2.2]

Additional context
Add any other context about the problem here.

restart if crashed

Hi, please add feature restart server, if crashed. today I have several crashs on my servers.

Translation system improvements

Hey, there 👋

The translation system is working fine but while translating I noticed, that it is probably hard to maintain the code and keep the translations up to date. There are some texts that are not translated and some are translated twice and so on. As it is not a bug or anything it's low priority.

I have some ideas for improvements but I'm not sure yet what would be the best way. Just posting this issue so that we can discuss it or at least have some kind of documentation for later reference. If I have time and it's OK i will try to implement the discussed changes and do a pull request (I need some practice 😉).

Current state

Structure

Pros:

  • INI-like structure is good for easy reading and writing
    • allows #Comments which is nice
  • all in one external file KF2ServerTool.lc
    • can be replaced and edited manually by the user
    • all translations in one place

Cons:

  • all in one file KF2ServerTool.lc
    • the bigger it gets the harder it will be to work with it
    • changes to any language mean a change to the whole file, which is harder to track
    • no easy diff with the default language entries
    • Version numbers cannot account for removed lines and so on, needs easier ways for diff
    • some keys are very long
  • the file KF2ServerTool_MissingLocalization.txt is unnecessary debug for the user I think

Code

Pros:

  • robust (has default / fallback values)
  • INI-like structure is good for easy parsing and generating
    • Structure ( {...} = optional ):
      • Category: ["$LANGNAME{-$LANGDIALECT}", "$LANGCODE"]
      • Entries: "$KEY"="{$VALUE}"
  • all in one external file KF2ServerTool.lc
  • easy to preview the text output in the code because it is the full text

Cons:

  • all in one file KF2ServerTool.lc
    • the bigger it gets the harder it will be to work with it
    • has to be loaded into memory completely, even if the other languages are not needed (not really an issue, size is very small)
  • the INI sections are just used to separate the languages instead of using it to structure the file
  • keys should be unique, but they are not (multiple duplicates)
  • keys should not be changed, but that means that a typo could stay there forever
  • the longer a key the easier it is to make a mistake
    • one space too much and it is a different key
    • key has to be typed into the code exactly without any autocomplete
  • values contain manual newlines (\n)

Thoughts

Structure and Code

  1. move translations into separate folder (for example lang)
  2. move the readme header from the KF2ServerTool.lc into a separate readme file
  3. move each language into its own file (for example Português_PT-BR.lc)
    • use ISO codes after the language name so there is no conflict (list of some language codes)
    • if someone wants add a new translation, they can copy English_EN-GB.lc and rename their new file
  4. keep the INI-syntax, it works well
  5. remove \n from the values and do it dynamically so the user doesn't have to
  6. change the keys from full English text to variable names
    • Example: before (current state)
      • "This will erase the workshop data base file.\nAre you sure?"="This will erase the workshop data base file.\nAre you sure?"
    • Example: after, structure in INI sections, variable using type and action as UPPER_SNAKE_CASE
      • [MAIN]
      • DLG_CLEAN_WORKSHOP_DATA="This will erase the workshop data base file.\nAre you sure?"
  7. extract general expressions from longer texts into separate translations
    • for instance Are you sure? is used ~4 times as part of longer texts and could have its own kv-pair like GENERAL_QUESTIONS_CONFIRM="Are you sure?"
    • do that only for general expressions (sentences that do not need a context)
    • try not to reuse specific sentences or words, because different languages have a different word order
  8. replace literal strings in the code with string constants
    • could be part of toolLanguage.pas or have its own constants class
    • if it doesn't find translations, let the program generate the default language file (English_EN-GB.lc) from the constants (including sections, kv-pairs and comments)
    • those constants can be used as the fallback/default translations, if a key is not found or a value is empty
    • makes autocomplete available in Delphi
    • that way, if a key is changed or removed, the program can generate a new English_EN-GB.lc (and a simple diff lets you change the other language files within minutes; could be automated later)

ToDo (last edit: 2019-06-10)

  • Maybe place missing localization keys for each language in the primary location file.
  • Find text in code that is not being translated and implement the call function.
  • Remove duplicate or unused translations.
  • Improve the header explanation of how to translate

Small Bug:

The issue is fixed when pressing alt+tab to any other program and coming back to the program to see the messagebox saying "finished"

Can't get BETA map into cycle

hey, first off I love this app, it makes the server actually usable!! thank you so much

My issue is that I updated to the beta branch, verified, but the new map from the 2018 christmas beta won't show up in my server maplist

It's supposed to be an official map so it doesn't have a workshop ID. I've also made sure i'm on beta.

"Warning: Warning, Workshop: Unable to download workshop item"

Describe the bug
Per the following Steam post, this app is having issues with updating workshop items:

https://steamcommunity.com/app/232090/discussions/1/3409802983885748185/?ctp=2#c3464974615693560835

To Reproduce
Steps to reproduce the behavior:

  1. Start a server that has custom maps, watch log

Expected behavior
Maps and other workshop items should be able to update on server launch.

Desktop (please complete the following information):

  • OS: Windows 11
  • Version of the tool: 1.4.0

Additional context
N/A

Initial server setup

Describe the bug

  1. On initial server set (Selecting "Install a new server"), it does not matter what folder is selected it will default download the "game" folder to your desktop (at least my desktop, as I have the files extracted into a "Servers" folder on my desktop)

  2. After files are downloaded, the program asks for the directory where server is installed (Existing server files), and then fails when selecting due to not having the folder "STEAMCMD" and steamcmd.exe in that folder.

To Reproduce
Steps to reproduce the behavior:

  1. Open KF2ServerTool and Select "Install on new server"
  2. Select the designated folder for install (For me, Desktop -> Servers -> KFServers)
  3. Download will start after anonymous login, and game folder will be placed on desktop, with no install happening inside designated folder. (SteamCMD will download all its files, and create a steamapps folder with just "libraryfolders.vdf" in it)
  4. Have to manually run steamcmd, and do "app_update 232130" for files to properly be installed. (For me Servers -> KFServers -> SteamCMD -> Steamapps -> Common -> kf2server)

Steps for problem two:

  1. After server files are downloaded, re-open KFServerTool and select existing installation
  2. The folder in question needs to have a folder called STEAMCMD and steamcmd.exe placed inside of it (Why?)
  3. Create folder SteamCMD, and copy steamCMD.exe into this folder
  4. Run KFServerTool again, and bam. Config opens.

Expected behavior

  1. Start program and select "Install on new server"
  2. Select designated folder for server files
  3. Files download to designated folder not desktop
  4. Re-run KFServerTool, select existing install, choose your server folder, server starts

Screenshots
KF2Server
problem2

Desktop (please complete the following information):

  • OS: Win 10 64bit
  • Version of the tool: 1.3.7

Additional context
A basic guide written on the github on downloading + installing would be fantastic. I noticed that when run, you need to have a copy of steamCMD in the server files folder or else it will fail to update/download and this messed with me for a while. A simple guide such as:

  1. Download KFServerTool, extract to your folder of choice.
  2. Run KFServerTool and select existing server, or install on new server.
  3. Choose location of existing server, or new server download location.
  4. Allow KFServerTool to download game files, and close.
  5. Navigate to your server folder ->SteamCMD, copy the SteamCMD.exe file, then navigate to Steamapps -> Common -> KF2Server, create a folder called "STEAMCMD", and then paste the SteamCMD.exe inside of it.
  6. Navigate to your server folder ->SteamCMD -> Steamapps -> Common -> KF2Server, Run the KF2Server.bat file. Allow permissions to your firewall if prompted, and once you see "DevOnline: Sending out playfab", close the window.
  7. Run the KFServerTool again, this time selecting "Existing server" and choose your server folder ->SteamCMD -> Steamapps -> Common -> KF2Server.
  8. Enjoy!

[Help Wanted] Someone to make the full wiki

English is not my native language.

Need someone to work in the wiki, to explain basic things, how the tool works, what you can do with the tool, what are the options inside the tool and some frequent questions.

The wiki is opened to edit, just edit it if you can. Thanks.

Workshop Collection URL support?

I could be missing something here, but is there not a way to use a workshop collection URL for adding custom maps to a server? It'd be very helpful with saving time instead of having to put in the URL for every single map I want to add.

No mapping for the Unicode character exists in the target multi-byte code page

Describe the bug
Weird/invalid characters in KFGame.ini break the tool

To Reproduce
Steps to reproduce the behavior:

  1. Edit LinuxServer-KGame.ini motd to contain something like "B/B�G"
  2. Run the tool with -info
  3. Error: Failed to load /home/steam/kf2/KFGame/Config/Server1/LinuxServer-KFGame.ini: No mapping for the Unicode character exists in the target multi-byte code page

Expected behavior
Config files get read correctly and don't cause the tool to fail functioning

Server:

  • OS: Arch Linux
  • Version of the tool 1.3.5

Additional context
The characters got put there by kf2-magicked-admin and are characters some people use in their Steam names. KF2 Server doesn't seem to mind the characters

Self Start up?

Hi there, So far this utility does exactly what I need, but I'm looking for means to have the server startup automatically if the server reboots. Is this possible?

Run without elevation in Windows

Just a nice to have: Being able to run it without admin privileges / UAC prompt.

I didn't have time yet to look for the reason it requires elevation. Maybe it's because of certain Windows API calls or just using maximum permissions for the files ystem access.

If I manage to understand the libraries better I can try to fix it myself and will add a PR.

All menu headers, titles and options say "help us" instead of the right words.

Problem first started when updating to 1.37 I believe, or before that. I noticed in the KF2ServerTool that all the words just say "help us". This is all menu items and headers. The fields you have to fill are fine. The tool still works and I am able to launch my server, update maps and game files but I have to click on buttons sometimes until I find the right buttons. Obviously, not ideal.
I have included a link to a screenshot to show the problem.

When I first start the tool I get a message, "Failed to set language. Language with initial "EG" not found". I am not 100% certain if that message is related but I know I had that message before when the tool worked. I just wanted to include it just in case.

To Reproduce
Steps to reproduce the behavior:

  1. Launch KF2ServerTool
  2. Initial error message stating "Failed to set language..." See above
  3. Click OK to clear the message.
  4. KF2ServerTool starts.

Expected behavior
The expected behavior is for the menu headers, titles of options etc to have the normal words instead of "help us".

Screenshots
Here is the link
KFServerTool_ISSUE

Backup - https://ibb.co/fpdhWnr

Desktop (please complete the following information):

  • OS: Windows 10 64bits
  • Version 1.4

Add Map > Manual is greyed out

Would like to add a .kfm map i have saved on my drive, but Add Map > Manual is greyed out

Can't figure out how to fix it

Any ideas?

The map is deprecated and not on the Steam Workshop

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.